728x90
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다.
n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
n | return |
118372 | 873211 |
접근방법
파이썬에는 리스트를 내림차순으로 정렬해주는 함수가 있다. -> sort(reverse=True)
정답
def solution(n):
n = list(str(n))
n.sort(reverse = True)
return int("".join(n))
*정렬함수 sort없이 푸는 방법*
나는 해당 인덱스의 수와 그 뒤의 수를 비교해서 하나하나 교체해주는 방법으로 생각해서 풀어봤다.
def solution(n):
n = list(str(n))
for i in range(len(n)-1):
for j in range(0, len(n)-1):
if n[j] < n[j+1]:
c = n[j+1]
n[j+1] = n[j]
n[j] = c
print(n)
return int(''.join(n))
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 Level1) 비밀지도 (0) | 2021.12.24 |
---|---|
프로그래머스 level 1) 약수의 합(Python) (0) | 2021.12.07 |
프로그래머스 Level 1) 제일 작은 수 제거하기(Python) (0) | 2021.11.23 |
프로그래머스 Level 1 ) (Python)최대공약수와 최소공배수 (0) | 2021.11.19 |
프로그래머스 Level 1) 콜라츠 추측 (0) | 2021.11.19 |