728x90
반응형
Silver V
# 10989 수 정렬하기 3
링크 : https://www.acmicpc.net/problem/10989
풀이
import sys
N = int(sys.stdin.readline())
li = [0] * 10001
for i in range(N):
num = int(sys.stdin.readline())
li[num] += 1
for i in range(len(li)):
while li[i]:
print(i)
li[i] -= 1
후기
- append를 사용하면 메모리 공간의 크기가 가변적이게 된다. python에서 가변적인 공간은 큰 메모리를 요구하게 된다
- 메모리 사용량을 일정 크기로 고정시키면 메모리 초과 문제를 해결할 수 있다. 메모이제이션을 통해 값을 기록, 이를 이용한 연산은 메모리를 사용량을 줄인다.
- 메모이제이션으로 활용한 리스트 공간 li는 10001까지가 되어야 한다.
cf. 10000으로 설정하면 0~9999 까지 기록된다.
'Algorithm Study > Python' 카테고리의 다른 글
[백준 파이썬] # 3009 네 번째 점 (0) | 2022.02.21 |
---|---|
[백준 파이썬] # 1920 수 찾기 (0) | 2022.02.21 |
[백준 파이썬] # 2108 통계학 (0) | 2022.02.20 |
[백준 파이썬] # 11651 좌표 정렬하기 2 (0) | 2022.02.20 |
[백준 파이썬] # 10866 덱 (0) | 2022.02.20 |