백준 문제풀이

[백준 1427번 문제] 소트인사이드

eunda_coding 2022. 8. 10. 14:59

이 문제는 주어진 숫자를 각 자리수를 내림차순으로 정렬하는 문제이다.

숫자를 각 자리수로 나누기 위해서는 문자열로 바꾸어서 리스트에 저장하는 방식으로 구현하였다.

for i in str(num):
    num_list.append(i)

for문을 통해 입력받은 숫자를 문자열로 바꾼 후에 각 자리별로 리스트에 추가해주었다.

2143
['2', '1', '4', '3']

입력한 숫자가 이런식으로 리스트에 저장된다.

num_list.sort()
num_list.reverse()

그 다음에 sort함수를 이용해서 오름차순으로 정렬한 후에 reverse함수를 이용해서 역순으로 바꾸어 주었다.

for i in num_list:
    print(i,end='')

마지막으로 for문을 통해서 리스트안에 숫자들을 프린트해주었다.

 

<전체코드>

import sys
input = sys.stdin.readline

num = int(input())
num_list = []
for i in str(num):
    num_list.append(i)
# print(num_list)
num_list.sort()
num_list.reverse()
# print(num_list)

for i in num_list:
    print(i,end='')