728x90
N = int(input())
array = []
while N >= 10:
array.append(N % 10)
N = N // 10
array.append(N)
array.sort()
i = 0
for _ in array:
print(array[len(array) - i - 1], end='')
i += 1
정렬을 거꾸로 해야 하는 문제였는데..
우선 파이썬에서 배열을 만들 때
2143 -> for문에서 넣으면 한글자마다 다르게 취급됨
을 몰랐다.
그래서 고친 코드는
N = int(input())
array = []
for i in str(N):
array.append(int(i))
array.sort(reverse = True)
for _ in array:
print(_, end="")
이런 식.
더 짧게 할 수도 잇겠지만 우선 이정도만 해도 훨씬 짧아진다.
거꾸로 할 때 array.sort(reverse = True)같은 간편한 기능이 파이썬에 있다는 것도 잊지 말자
728x90