문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
나의 코드
def solution(n):
answer = []
result = ''
num = n
for i in range(len(str(n))):
answer.append(num%10)
num = num // 10
answer.sort(reverse=True)
for x in range(len(answer)):
result += str(answer[x])
return int(result)
모범 답안
def solution(n):
ls = list(str(n))
ls.sort(reverse = True)
return int("".join(ls))
1. for문을 사용하지 않아도 str->list를 적용하면 같은 결과를 얻을 수 있었다.
2. 굳이 빈공간을 따로 지정하지 않고 for문을 사용하지 않아도 join을 이용해서 문자열을 이어붙일 수 있었다.
'3. 알고리즘 > 프로그래머스' 카테고리의 다른 글
[python] 9. 핸드폰 번호 가리기 (0) | 2021.01.01 |
---|---|
[python] 8. 정수 제곱근 판별 (0) | 2021.01.01 |
[python] 6. 자연수 뒤집어 배열로 만들기(feat. reversed 함수) (0) | 2020.12.30 |
[python] 5. 자릿수 더하기 (0) | 2020.12.30 |
[python] 4. K번째수(feat. map과 lambda) (0) | 2020.12.29 |