문제
처음 작성한 코드
def solution(n):
answer = 0
result = []
while n:
n,i = divmod(n,10)
result.append(i)
answer = sum([i*(10**idx) for idx,i in enumerate(sorted(result))])
return answer
코드 리뷰 후
def solution(n):
return ''.join(sorted(list(str(n)),reverse=True))
깨달은 점
1. 계산하지 않고 리스트 n을 정수에서 문자로 바꿔준다. -> list(str(n))
2. sorted(reverse=True)를 통해 내림차순으로 정렬해준다.
3. 하나의 문자열로 반환하기 위해 ''.join()을 사용한다.
4. 왜 다 계산했을까..
'Programmers' 카테고리의 다른 글
자연수 뒤집어 배열로 만들기 (0) | 2021.01.01 |
---|---|
내적 (0) | 2021.01.01 |
완주하지 못한 선수 (0) | 2020.12.31 |
모의고사 (0) | 2020.12.30 |
체육복 (0) | 2020.12.30 |