- 0
- 이니스프리
- 조회 수 434
def solution(number): answer = '' number_count = [0 for _ in range(10)] while number > 0: number_count[number % 10] += 1 number //= 10 for i in range(9, -1, -1): if number_count[i] != 0: answer += (str(i) + str(number_count[i])) return answer
Q. 주어진 숫자를 각 숫자와 숫자의 개수로 읽으려 합니다. 이때, 값이 큰 숫자를 먼저 읽어야합니다.
예를 들어, 2433은 2 한개 4 한개 3 두개로 이루어져 있기 때문에 "413221"로 읽습니다.
숫자 number가 매개변수로 주어질 때, 숫자를 읽어 문자열로 return 하도록 solution 함수를 작성하시오.
원래 디버깅형 문제로 출제되었으나, 함수 완성형 문제로 출제될 가능성도 있을 것 같아서 올립니다.
(1) 수를 한 글자씩 배열에 넣어서 카운트하는 것, (2) range() 함수를 역으로 돌리는 것이 포인트라고 생각되네요 ^^
0이 포함되어야 되므로 range(9, 0, -1)이 아니라 range(9, -1, -1)인 것도 주의해야 됩니다.
작성자
댓글 0
권한이 없습니다.