소트인사이트
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
예제 입력 1
예제 출력 1
예제 입력 2
예제 출력 2
예제 입력 3
예제 출력 3
예제 입력 4
예제 출력 4
► Idea
- Selection sort로 풀자.
- 정렬되지 않은 부분에서 최솟값을 찾아, 정렬되지 않은 부분의 시작점(정렬된 부분 바로 뒤)과 스왑 해주는 정렬이다.
► Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| def selectionSort(li):
for i in range(0, len(li)):
min_idx = i
for j in range(i + 1, len(li)):
if li[j] > li[min_idx]:
min_idx = j
li[i], li[min_idx] = li[min_idx], li[i]
li = list(map(int, input()))
selectionSort(li)
# print a list without brackets
for i in li:
print(i, end='')
|
► 시간 소요한 부분
How to print a list without brackets in Python
1. Using for loop
1
2
| for i in li:
print(i, end='')
|
2. Using the join() method
1
2
| string = ' '.join(map(str, my_list))
print(string)
|