1. 백준, 소트인사이드, 1427번
2. 생각해보자
- 숫자를 문자열로 입력받는다.
- 입력받은 문자열을 for문을 사용하여 문자 단위로 나눈다.
- 나눠진 문자를 리스트에 넣는다.
- 내림차순 정렬 후 재조립하여 문자열로 만든다.
n = input()
array = list()
for data in n:
array.append(data)
array.sort(reverse = True) #내림차순 정렬
n = "".join(array)
print(n)
3. 해설 및 코드분석
- 이번 문제의 핵심은 각 자리수를 이용하는 것이다.
- sort를 사용하여 풀면 간단하게 해결되지만, 자리수를 이용하여 풀는 방법을 알아보자.
array = input()
for i in range(9, -1, -1): # 9부터 0까지 증가값은 -1
for j in array:
if int(j) == i:
print(i, end='')
- 입력된 문자열을 for문을 통하여 하나씩 확인한다.
- 내림차순 정렬을 해야하기 때문에 for문을 역순으로 실행시킨다. (0부터 9까지가 아닌, 9부터 0까지)
'Algorithm > 알고리즘 문제풀이' 카테고리의 다른 글
오늘의 알고리즘(4월 28일) (0) | 2021.04.28 |
---|---|
오늘의 알고리즘(4월 19일) (0) | 2021.04.19 |
오늘의 알고리즘(4월 15일) (0) | 2021.04.15 |
오늘의 알고리즘(4월 14일, feat.Union Find) (0) | 2021.04.14 |
오늘의 알고리즘 (4월 13일) (0) | 2021.04.13 |
댓글