https://www.acmicpc.net/problem/10989
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
메모리 초과된 잘못된 코드
메모리 초과
import sys
n=int(input())
arr=[]
for _ in range(n):
arr.append(int(sys.stdin.readline()))
arr.sort()
for x in arr:
print(x)
append를 사용하면 메모리 재할당이 발생해 메모리소비가 크다.
그래서 체크리스트를 사용
체크리스트
import sys
n=int(input())
ch=[0]*(10001)
for i in range(n):
x=int(sys.stdin.readline())
ch[x]+=1
for i in range(1,10001):
if ch[i]!=0:
for _ in range(ch[i]):
print(i)
'코딩테스트[파이썬] > 백준 (BOJ)' 카테고리의 다른 글
백준 11659 -구간 합 (0) | 2024.02.15 |
---|---|
백준 18870 - 좌표압출(정렬) (0) | 2024.02.14 |
백준 2839 - 설탕 배달 [부르트포스] (2) | 2024.02.13 |
백준 1436 - 영화감독숌[부르트포스] (0) | 2024.02.13 |
백준 1018 - 체스판 채우기[부르트포스] (0) | 2024.02.13 |