본문 바로가기

Algorithm/프로그래머스 연습 문제

프로그래머스 / 코딩 테스트 / 정수 내림차순으로 배치하기

문제 설명

 

 

문제 해결

 

정수 n을 각 자리마다 끊어 내림차순으로 정렬한 후, 다시 자릿수에 맞게 결합한 후 반환하면 되는 문제이다.

n을 문자열로 변환하고 comprehension 기법을 사용하여 리스트 형태로 다시 재구성한다.

sort 함수를 호출하여 내림차순으로 정렬해준다.

 

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

res에 정렬된 리스트의 숫자를 자리수에 맞게 연산한 결과를 누적하여 반환한다.

 

def solve(n):
    res = 0
    n = str(n)
    e = [int(x) for x in n]
    e.sort(reverse=True)
    for i in range(len(e)):
        res += e[i] * (10 ** (len(e)-i-1))
    return res

def solution(n):
    answer = solve(n)
    return answer