Programmers - 정수 내림차순으로 배치하기(Python)
문제
- 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한사항
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n | return |
---|---|
118372 | 873211 |
✍ 코드
def solution(n):
answer = list(str(int(n)))
answer.sort(reverse=True)
answer = "".join(answer)
answer = int(answer)
return answer
n = 118372
print(solution(n))
- n은 정수형(int) 타입이기 때문에 이 한 수안에서 숫자별로 정렬할 수는 없다. 따라서 n을 str 타입으로 변환한 후 이를 list()한 것을 answer에 할당한다.
- 이후, answer을 내림차순 정렬하기 위해 sort(reverset=True)를 해준다.
- answer이 list 타입이므로 한 수로 리턴해주기 위해 "".join(answer)을 해주었다.
- 그러고나서 answer을 리턴해준다.
📝 결과
def solution(n):
answer = list(str(int(n)))
answer.sort(reverse=True)
answer = "".join(answer)
answer = int(answer)
return answer
n = 118372
print(solution(n))
😃 느낀점
- 처음에는 list(str(int(n)))가 아니라 list(str(n))을 해주었다. 이 때문에 테스트의 일부가 틀렸다. 아직까지도 str(n)으로만 해도 될 것 같은데, 왜 str(int(n))을 해주었는지 의문이다. 다른 분이 푼 블로그를 봐도, 본인들도 모르겠다고 했다. 이 점이 조금 답답하다.
👍 Irish의 모든 코드 보기
-> Irish Github
Author And Source
이 문제에 관하여(Programmers - 정수 내림차순으로 배치하기(Python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@irish/Programmers-이상한-문자-만들기Python-c5bezy8g저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)