목록2751 (2)
하루일문
초기 코드 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()) 같은 수가 ..
문제 포인트 수를 정렬하는 것 자체는 크게 어렵지 않지만, 시간 복잡도 때문에 시간 오류가 잘 뜨는 문제 같다. 풀이 코드 # 정렬을 위해 heaqp import heapq nums = [] for _ in range(int(input())): nums.append(int(input())) # 정렬을 해주고 시작 heapq.heapify(nums) for _ in range(len(nums)): # 작은 것부터 제거하면서 print print(heapq.heappop(nums)) 해결 방법 시간 복잡도를 고려하려고 해도 내가 쓴 코드도 시간초과가 발생했다. 제출을 python 보다 빠른 pypy3로 제출하니 성공할 수 있었다. 찾아보니 백준은 python 시간에 좀 박한 편이라고 하니 참고해야 할 것 같다.