본문 바로가기
Algorithm/프로그래머스(Programmers)

[ 파이썬(python) ] 프로그래머스 level1 - 정수 내림차순으로 배치하기

by YWTechIT 2021. 3. 31.
728x90

📌 정수 내림차순으로 배치하기

자리수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴하라.
예를들어 n이 118372면 873211을 리턴하면 됩니다.


💡 나의 풀이

이전에 풀었던 자리수 더하기 문제와 비슷하게 자리수를 정렬하려면 문자형(str)으로 접근하는것이 핵심포인트다.
이후, sorted를 사용해 정렬하고 나중에는 ''.join을 이용해 하나로 뭉쳐줬다. 하지만 문제에서 정수로 리턴하라고 했기때문에 int형을 다시 붙여줘야한다.

다른 사람의 코드를 보며 배운 점은, sorted를 사용하면 list를 자동으로 반환해주기 때문에 따로 list를 선언 할 필요가 없다는 점이었다. 또, map 함수를 사용하지 않았는데 이유는 str을 바로 int형으로 바꿔주지 않고 제일 마지막에 int형으로 바꿔주기때문에 사용하지 않았다.

list, map만 빠져도 이전보다 간결한 코드가 되기 때문에 가독성이 좋아지는것을 확인 할 수 있다.

# 나의 코드
def solution(n):
    return int(''.join(sorted(list(map(str, str(n))), reverse=True)))

# 다른사람의 코드
def solution(n):
    return int(''.join(sorted(str(n), reverse=True)))
반응형

댓글