[백준] 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를 만들고 인덱스를 통해서 오름차순으로 정렬할 수 있다.

    댓글