Algorithm/Programmers

[Python | Level1] 정수 내림차순으로 배치하기

dotz0ver 2024. 4. 4. 17:20

https://school.programmers.co.kr/learn/courses/30/lessons/12933

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴해 주세요. 예를 들어 n이 118372면 873211을 리턴하면 됩니다.


제한 조건

  • n은 1 이상 8,000,000,000 이하인 자연수입니다.

문제 풀이

1. 정수 n을 문자열로 바꾸어 정렬 후, 다시 정수형으로 바꾸어 반환한다.

2. sort()와 sorted()는 둘 다 리스트를 정렬하는 데 쓰이는데,

- sort() 함수는 리스트 자료형의 메소드로, 리스트만 정렬이 가능하며, 원본 값을 수정하므로 리스트를 반환하지 않는다(None 반환).

- sorted() 함수는 파이썬 내장 함수로 iterable 한 객체 (ex. 리스트, 튜플, 딕셔너리 등) 를 정렬할 수 있다. sort() 와 다르게 원본 값을 수정하지 않고 정렬된 복사본 객체를 리스트로만 반환한다.

3. join은 리스트의 요소를 합쳐 문자열로 반환하는 함수다. 기본형은 "구분자".join(리스트)

def solution(n):
    n_sort = sorted(str(n), reverse=True)
    return int("".join(n_sort))