[문제 설명]
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
[제한 조건]
n은 1이상 8000000000 이하인 자연수입니다.입출력 예 n return 118372 873211
def solution(n):
nList = list(map(int, str(n)))
newL = sorted(nList, reverse = True)
strings = [str(i) for i in newL]
a_string = "".join(strings)
return int(a_string)
정수 n의 각각 자리수를 리스트로 바꾸기
-> 문자열로 바꾼 후 정수로 바꾸고 리스트에 묶어주기
생성된 각 자리수가 있는 리스트를 내림차순으로 정렬하기
-> sorted 사용 : 새로운 정렬된 리스트를 반환하기 때문. list.sort() 메서드를 사용하면 리스트를 제자리에서 수정. None을 반환(원래 목록이 필요한 경우 이러면 사용할 수 없음.)
-> list.sort()와 sorted()는 모두 불리언 값을 갖는 reverse 매개 변수를 받아들임.
정렬된 리스트를 합쳐서 다시 정수로 만들어 리턴.
-> newL 리스트에 있는 값들을 str()해서 strings 리스트에 저장.
-> join()으로 strings 리스트에 있는 값들을 붙여서 문자열 만들고 a_string에 할당.
-> 문자열을 정수로 변환한 값을 리턴
def solution(n):
ls = list(str(n))
ls.sort(reverse = True)
return int("".join(ls))