Algorithm/Python
[BOJ]10989. 수 정렬하기3
Pycoder
2020. 8. 27. 12:00
728x90
반응형
문제:
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력:
첫째 줄에 수의 개수 N(1<=N<=10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
출력:
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
풀이방법:
숫자가 10,000까지만 있다는 점에서 count를 하는 방식으로 정렬을 한다. 10,000 크기의 배열은 만든 뒤에 들어오는 숫자대로 해당하는 인덱스의 값을 늘려줬다. 이를 마친 뒤에 앞 인덱스부터 출력했다.
|
1
2
3
4
5
6
7
8
9
10
11
12
|
import sys
N = int(input())
numbers=[0]*10000
for _ in range(N):
n = int(sys.stdin.readline())
numbers[n-1]+=1
for i in range(10000):
while numbers[i]:
print(i+1)
numbers[i]-=1
|
cs |
문제링크:
https://www.acmicpc.net/problem/10989
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
728x90
반응형