하루일문
[백준] 2751번 수 정렬하기 3 (파이썬) 본문
초기 코드
nums = []
import heapq, sys
for _ in range(int(sys.stdin.readline())):
nums.append(int(sys.stdin.readline()))
heapq.heapify(nums)
for _ in range(len(nums)):
print(heapq.heappop(nums))
오류
메모리 오류
처음 봐서 당황했다
수정 방법
메모리를 위해서
- sys.stdin.readline() 필수
- append 사용 금지
수정 코드
import sys
n = int(sys.stdin.readline())
# 최대 숫자까지 저장
arr = [0] * 10000
for _ in range(n):
num = int(sys.stdin.readline())
같은 수가 나올때마다 +1
arr[num-1] += 1
for i in range(10000):
# 인덱스안에 1이상 있다면(중복이 있었다면)
if arr[i] != 0:
# 인덱스에 1을 더한 수를 중복만큼 돌린다
for j in range(arr[i]):
print(i + 1)
'algorithm > baekjoon' 카테고리의 다른 글
[백준] 1260 DFS와 BFS(파이썬) (0) | 2023.02.13 |
---|---|
[백준] 2108번 통계학(파이썬) (0) | 2023.02.12 |
[백준] 2751번 수 정렬하기 2 (파이썬) (0) | 2023.02.10 |
[백준] 2563번 색종이 (파이썬) (0) | 2023.02.09 |
[백준] 2566번 최댓값 (파이썬) (0) | 2023.02.09 |