문제
숫자 정렬하는 문제인데 이제 입력이 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으로 묶어서 출력하면 끝이다.
Reply