본문 바로가기
백준 풀이

[백준/BOJ] - 1927번 python 풀이 - minheap

by 반오십 코린이 2023. 5. 11.
728x90


1. heapq를 활용하여 간단하게 구현할 수 있다.

2. heapq.heappush를 사용하면 heap에 push가 된다.

3. heqpq.heappop을 사용하면 가장 작은 값이 pop된다.

 

번외로 maxheap을 활용하려면 

import heapq
heap = []
a = 3
b = 4
heapq.heappush(heap, -a)
heapq.heappush(heap, -b)
print(-heapq.heappop(heap))

마이너스를 붙이는 개념으로 활용


import heapq
import sys
input = sys.stdin.readline
n = int(input())
heap = []
for _ in range(n):
    num = int(input())
    if num != 0:
        heapq.heappush(heap, num)
    else:
        if len(heap) != 0:
            print(heapq.heappop(heap))
        else: #길이가 0이면
            print(0)
728x90