프로그래머스 정수 내림차순으로 배치하기

최준근·2021년 9월 29일
0

문제설명

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

제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n return
118372 873211

생각하기

  1. 자연수 n을 str으로 형변환, 리스트로 만들어 각요소 분리
  2. n을 내림차순으로 정렬
  3. join 연산을 통해 각 요소를 하나로 합치고 int로 형변환

내 코드

def solution(n):
    n = list(str(n))
    n.sort(reverse = True)
    return int("".join(n))

처음 푼 코드는 n = list(map(int, str(n)) 으로 만들어서 시도했더니 자꾸 오류가 났다.
다시 천천히 코드를 보니 join연산은 문자를 문자열로 합치는 것이기 때문에 내가 만든 int형의 list는 join연산이 될리가 없다.

map과 int를 지우고 마지막 join에 int형으로 변환시켜 간단히 풀 수 있었다.

profile
느려도 좋으니 꾸준하게

0개의 댓글