num_list를 입력받으실때 int형이 아닌 str(문자열)로 받으셨네요. 이때 정렬을 하게되면 첫번째 예제의 경우
['50000', '5000', '500', '50', '5', '10000', '1000', '100', '10', '1'] 이렇게 정렬이 됩니다. 처음부터 int형으로 값을 입력받으면 좋을꺼같아요.
11047번 - 동전 0
sort 하는 과정에서 문제가 발생합니다
3번줄 이후에 num_list가 [ '50000', '5000', '500', ... '10000', '1000', '100', ... '1' ] 이렇게 나오는데
이거는 '5'의 아스키코드 값이 53이고 '1'의 아스키코드 값이 49라서 문제가 발생한것 같습니다
쉽게말하면 문자를 sort할때랑 int를 sort할때는 결과값이 다르게 나옵니다.
본인이 생각한것처럼 결과가 나오지 않을때는
중간중간 print해서 본인이 예상한 결과가 나오는지 확인하는 습관 들이시면 좋습니다
3번줄 이후에 print(num_list) 해보시고
int형으로 받은 이후에 sort한거를 다시한번 print해서 비교해보시면 왜 틀렸는지 쉽게 감을 잡으실 수 있을것 같습니다.
댓글을 작성하려면 로그인해야 합니다.
db2011307 1년 전
어느 부분이 잘못되었나요? 코드에서 잘못된 부분을 못찾겠는데 원하는 답이 안나오네요.