[백준] #10989 수 정렬하기 3 python

2022. 12. 27. 17:02

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

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

 

📕 설명 📕

이전 시간 초과를 고려하여 합병 정렬을 사용한 풀이에서의 코드를 사용하자, 메모리 초과가 발생하였다.

 

메모리를 줄이기 위해 append 사용을 하지 않았다.

 

for 문에서 append  함수를 사용하게 되면, 메모리가 재할당 되어 메모리에 효율적이지 않다.

 

🧑🏻‍💻 나의 풀이 🧑🏻‍💻

import sys
N = int(input())
src = [0] * 10001

for _ in range(N):
    src[int(sys.stdin.readline())] += 1
for i in range(len(src)):
    if src[i] != 0:
        for j in range(src[i]):
            print(i)

BELATED ARTICLES

more