[백준] 10989번 : 수 정렬하기 3- 파이썬[Python]

728x90

문제

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

풀이

import sys

N=int(sys.stdin.readline())
num=[0]*10001
for i in range(N):
  num[int(sys.stdin.readline())]+=1
for i in range(len(num)):
  if num[i]!=0:
    for p in range(num[i]):
      print(i)

list.append를 사용하면 추가할 때마다 메모리 재할당이 이루어 져서 메모리를 크게 사용한다고 한다.

입력값 제한점인 10001개의 공간을 가진 list를 만들고 인덱스를 통해서 오름차순으로 정렬할 수 있다.

댓글