함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
첫 시도는 리스트 변수를 만들어서, for 반복문과 append를 사용해 리스트에 추가하는 방향으로 진행했다. 하지만 방향이 잘못되었다는 생각이 들었고, 검색을 하며 알아보다가 숫자열을 문자열로 먼저 바꿔야 한다는 것을 알게 되었다.
def solution(n):
result = list(str(n))
result.sort(reverse=True)
return int("".join(result))
result = list(str(n))
: n의 값이 정수이기 때문에 문자열값으로 바꿔서 result라는 리스트에 담아준다.
result.sort(reverse=True)
: 리스트명.sort()는 정렬,
리스트명.reverse는 정렬 순서 역순으로 뒤집기,
리스트명.sort(reverse=True)는 내림차순으로 정렬하기.
True 적을때 다 대문자, 다 소문자로 하면 안되고 True!!라고 적어야 함.
return int("".join(result))
: 문자열로 바꾼 값을 다시 정수로 바꿔준다.
"".join(result)
는 result 내의 요소들을 하나의 문자열로 연결하는 것.
쌍따옴표 ""
는 int에 전달되는 값이 문자열임을 나타내는 역할.
.join()
는 리스트, 문자열, 튜플 등에 포함된 문자열들을 하나의 문자열로 합쳐주는 역할.
e.g.) `.join()`에 대한 예시
nums = ['1', '2', '3', '4', '5']
'-'.join(nums)
→ '1-2-3-4-5'