알고리즘/프로그래머스
프로그래머스 Level 1) 정수 내림차순으로 배치하기(Python)
luana_eun
2021. 11. 23. 22:08
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