Algorithm/백준
[Python] 백준 10989번: 수 정렬하기 3
hanbikan
2021. 4. 20. 09:26
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
import sys
input = sys.stdin.readline
N = int(input())
nums = [0]*10001
for _ in range(N):
nums[int(input())] += 1
for i in range(10001):
for j in range(nums[i]):
sys.stdout.write(str(i)+"\n")
메모리 제한이 8MB인데,
10,000,000개의 숫자를 저장할 수는 없다.(이를 위해선 약 38MB가 필요하다.)
따라서 다른 방법을 써야하는데, 입력 조건을 보면 입력되는 수의 범위가 1~10,000이다. 즉, 크기가 10000인 배열에 입력된 정보를 저장하면 된다.