문제

문제

 

처음 작성한 코드

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