Python/CoTe

[programmers] 정렬 내림차순 정렬

joannekim0420 2022. 2. 21. 22:18
728x90

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

 

코딩테스트 연습 - 정수 내림차순으로 배치하기

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

programmers.co.kr

 

##### 얻어갈 포인트 #####

1. string을 문자 하나하나로 분리하고 싶을때, split('')은 empty seperator 라 되지 않지만

   바로 list(string_) 만 씌워도 된다.

2. list에 있는 string을 이어붙일 때 ''.join(list_name) 이렇게 가능하다 -> 이건 매번 까먹는듯

 

#첫 번째 코드 

def solution(n):

    #string 을 empty seperator 쓰지 못할떄 분리하는 방법
    list_ = list(str(n))
    list_.sort(reverse=True)
    
    return int(''.join(list_))

문제의 답은 나오나 런타임 에러 나옴 

찾아보니 형변환의 문제인 것으로 나왔다

 

#두 번쨰 코드

def solution(n):
    #string 을 empty seperator 쓰지 못할떄 분리하는 방법
    list_ = list(str(int(n)))
    list_.sort(reverse=True)
    
    return int(''.join(list_))

자연수라고 조건이 나오는데 int 하나로 답이 달라진다...?