0%

BOJ 10989

Input

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다.

둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

1
2
3
4
import sys
input = sys.stdin.readline

n = int(input())

Sort

기존의 sortsorted 를 사용하면 메모리 초과가 난다.

새로운 방식으로 접근해야 함.

1
2
3
4
s = [0]*10001

for _ in range(n):
s[int(input())] += 1

같은 요소가 여러개 있는 경우, 중복으로 저장하는 것이 아닌, 2차원 배열 형식을 이용하여 중복되는 만큼 count를 한 후 count 만큼 해당 index를 출력하면 된다. 메모리 낭비를 없앨 수 있음.

1
2
3
4
for i in range(1, len(s)):
if s[i] > 0:
for _ in range(s[i]):
print(i)