숫자를 입력받아 각 자릿수를 내림차순으로 정렬하는 문제이다.
먼저 입력받는 수 N의 범위가 1,000,000,000 이하이다.
python3의 경우 오버플로우가 발생하기 전에 자동으로 메모리를 할당해 오버플로우가 발생하지 않는다.
하지만 이 문제에서 입력을 숫자로 받을 필요는 없다.
어차피 자릿수마다 한 자리씩 숫자를 나누어서 정렬해야 하기 때문에
애초에 입력을 문자열로 받으면 모든 것이 해결된다.
문자열로 받은 숫자를 하나씩 리스트에 저장한 후에 내림차순으로 정렬하고 띄어쓰기없이 출력한다.
원래는 숫자들을 int() 함수를 사용해 변환해주려 했지만 생각해보니 출력을 할 때는 값이 숫자든 문자든 상관이 없었다.
[소스 코드]
import sys
n = sys.stdin.readline().rstrip()
data = []
for ch in n:
data.append(ch)
data.sort(reverse=True)
for i in data:
print(i, end='')
[백준] 11651번 - 좌표 정렬하기 2 (정렬) - 결과 포함 (0) | 2021.02.02 |
---|---|
[백준] 11650 - 좌표 정렬하기 (정렬) - 결과 포함 (0) | 2021.02.02 |
[백준] 2108번 - 통계학 (정렬) - 결과 포함 (0) | 2021.02.02 |
[백준] 10989번 - 수 정렬하기 3 (정렬) - 결과 포함 (0) | 2021.02.02 |
[백준] 2751번 - 수 정렬하기 2 (정렬) - 결과 포함 (0) | 2021.02.02 |