Hanbit the Developer

[Python] 백준 10989번: 수 정렬하기 3 본문

Algorithm/백준

[Python] 백준 10989번: 수 정렬하기 3

hanbikan 2021. 4. 20. 09:26

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())
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인 배열에 입력된 정보를 저장하면 된다.

'Algorithm > 백준' 카테고리의 다른 글

[Python] 백준 4673번: 셀프 넘버  (0) 2021.04.25
[Python] 백준 1929번: 소수 구하기  (0) 2021.04.22
[Python] 백준 1002번: 터렛  (0) 2021.04.19
[Python] 백준 1753번: 최단경로  (0) 2021.04.18
[Python] 백준 1065번: 한수  (0) 2021.04.16