본문 바로가기

3. 알고리즘/프로그래머스

[python] 7. 정수 내림차순으로 배치하기(feat. join 함수)

728x90

문제 설명

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

 

제한 조건

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

 


나의 코드

def solution(n):
    answer = []
    result = ''
    num = n
    
    for i in range(len(str(n))):
        answer.append(num%10)
        num = num // 10
    answer.sort(reverse=True)
    
    for x in range(len(answer)):
        result += str(answer[x])
    return int(result)

 

모범 답안

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

1. for문을 사용하지 않아도 str->list를 적용하면 같은 결과를 얻을 수 있었다.

2. 굳이 빈공간을 따로 지정하지 않고 for문을 사용하지 않아도 join을 이용해서 문자열을 이어붙일 수 있었다.

 

 

 

728x90