
문제
https://www.acmicpc.net/problem/10989
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net

결과

풀이
import sys
input = sys.stdin.readline
n = int(input())
a = [0] * 10001
for i in range(n):
b = int(input())
a[b] += 1
for i in range(1, 10001):
while a[i] != 0:
print(i)
a[i] -= 1
메모리제한이 있는 문제로 카운팅소트를 이용해 풀어야한다.
인덱스에 숫자마다 개수를 저장해 준 뒤 하나씩 출력해 주었다.
'알고리즘 > 정렬' 카테고리의 다른 글
| [백준][python] 2108 통계학 (0) | 2022.03.15 |
|---|---|
| [백준][python] 18870 좌표압축 (0) | 2022.03.14 |
| [백준][python] 1427 소트인사이드 (0) | 2022.03.07 |
| [백준][python] 10814 나이순 정렬 (0) | 2022.02.20 |