프로그래머스 LV1 정수 내림차순으로 배치하기(연습문제)

프로그래머스 LV1 정수 내림차순으로 배치하기(연습문제)

2021, Apr 07    

프로그래머스 lv1 정수 내림차순으로 배치하기(연습문제)

문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다.

n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.

예를들어 n이 118372면 873211을 리턴하면 됩니다.

제한 조건

  • n은 1이상 8000000000 이하인 자연수입니다.

입출력 예

n return
118372 873211

접근

n을 str으로 바꿔서 reversed 해주고 그걸 다시 int로 바꿔서 list에 넣어줬다.

함수 정리 reversedreverse 의 차이
reverse는 list타입에서 제공하는 함수이다. reverse는 값을 반환하지 않고, 단순히 해당 list를 뒤섞어준다.
reversed는 내장함수로, list에서 제공하는 함수가 아니다. reversed는 ‘reversed’ 객체를 반환한다.

sorted(iterable, /, *, key=None, reverse=False) Docstring:오름 차순으로 모든 아이템이 포함되어 있는 새 리스트를 리턴한다. key 는 하나의 인자를 받는 함수를 지정하는데, iterable의 각 요소들로부터 비교 키를 추출하는 데 사용된다.

a = [('david', '178'),('john', '180'),('nick', '179')]

sorted(a, key=lambda x: x[1])

>>>[('david', '178'), ('nick', '179'), ('john', '180')]
a = [('david', '178'),('john', '180'),('nick', '179')]

sorted(a, key=lambda x: x[0])

>>>[('david', '178'), ('john', '180'), ('nick', '179')]

풀이

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

solution(118372)

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges