코테 대비 python/백준

10989 수 정렬하기 정렬 잡기술

ylab 2023. 2. 6. 20:35

https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

import sys

n = int(sys.stdin.readline())
num_list = [0] * 10001

for _ in range(n):
    num_list[int(sys.stdin.readline())] += 1

for i in range(10001):
    if num_list[i] != 0:
        for j in range(num_list[i]):
            print(i)

append를 사용하면 메모리 재할당문제로 효율이 좋지 않아 진다고 한다.

 

수가 10000까지 입력가능

입력을 받으면 해당 리스트에 1씩 더해줌

따라서 해당리스트를 불러온다음 해당 숫자만큼 출력