백준 1427번 풀이

문제

숫자 정렬하는 문제인데 이제 입력이 192834729 막 이런식이다.

풀이

어? 내림차순? 그럼 정렬 알고리즘 수정해야 하나요??? 아니 그럴 필요는 없으시고요 고객님. 이거 진짜 핵 심플한 문제임.

import sys

N = sys.stdin.readline().rstrip()
x = []

for i in N:
    x.append(i)

x.sort(reverse=True)
x = ''.join(x)

print(x)

파이썬은 문자도 시퀀스형 데이터이기 때문에 반복문을 돌릴 수 있다. 그래서 문자로 들어온 숫자를 for문 돌려서 하나씩 배열에 넣고(별도로 나눌 필요도 없고 그냥 for문 돌리면 하나씩 들어간다) sort를 하면 된다. 뭘 주고? reverse=True를 주고. 다음은 그걸 내림차순으로 정렬한 다음 join으로 묶어서 출력하면 끝이다.