🎈 1 최대힙 사용하는 방법
heap_items = [2, 8 , 7 , 5 , 3]
max_heap = []
for i in heap_items:
heapq.heappush(max_heap, (-i, i))
#-i로 정렬을 하고 i는 힙에 실제 들어 가는 숫자
<😥 첫번째 코드>
def Max_Heap(heap_items):
global n
Max_heap = []
for i in range(n):
if heap_items[i] != 0:
heapq.heappush(Max_heap, (-heap_items[i], heap_items[i]))
else:
if not Max_heap:
print(0)
else:
print(heapq.heappop(Max_heap)[1])
n = int(input())
heap_items = []
for i in range(n):
heap_items.append(int(input()))
Max_Heap(heap_items)
안된 이유 : 실행 결과 결과값은 모두 정확하나, 시간 초과가 뜸 ..
<😍 두번째 코드>
for i in range(n):
heap_items.append(int(sys.stdin.readline()))
정말 이번 문제는 어이가 없었다 .. 정답은 정확하게 나오나 계속해서 시간초과라고 뜸 ㅠㅠ 결국엔 ,,, 혼자 해결을 못해서 구글로 찾아 봤더니 뭔가 사람들이 다 짠것 처럼 모두 readline을 사용하고 있었다 ,, 진짜 혹시나 하는 마음에 고쳐본 결과 ,, 맞았습니다 ,, ㅠㅠ 몰랐던 것을 하나 더 알고 가지만 너무 억울한 느낌 ,, 다음번에도 이거 써먹어야지 ㅎㅎ