728x90
반응형
{{문제}}
함수 solution은 정수 n을 매개변수로 입력받습니다.
n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를 들어 n이 118372면 873211을 리턴하면 됩니다.
※제한조건※
n은 1이상 8000000000 이하인 자연수입니다.
{{풀이}}
def solution(n):
return int(''.join(sorted(str(n), reverse=True)))
<<추가설명>>
1. 정수 자체는 내림차순/오름차순 정렬이 불가하므로, 각 자릿수의 숫자 크기 비교를 위해 문자열로 바꾼다.
2. sorted()를 하여 리스트로 변환한 문자열은 ['1','1','8','3','7','2']가 되는데, reverse = True 시, 내림차순으로 정렬하므로
['8','7','3','2','1','1']이 된다.
3. 이를 join하되, 공백 없이 연결시키면 '873211'이 된다.
4. int() 형변환하여 문자열 '873211'을 정수 873211로 바꾼다.
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]위클리챌린지1주차-부족한 금액 계산하기 (2) | 2021.08.03 |
---|---|
[프로그래머스]숫자문자열과영단어-Python3 (6) | 2021.07.30 |
[프로그래머스]소수개수구하기-Python3 (0) | 2021.07.29 |
[프로그래머스]약수의합-Python3 (0) | 2021.07.29 |
[프로그래머스]소수찾기-Python3 (0) | 2021.07.29 |