algorithm/baekjoon
[백준] 2751번 수 정렬하기 3 (파이썬)
support_u
2023. 2. 11. 02:23
초기 코드
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)