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
'백준 풀이' 카테고리의 다른 글
[백준/BOJ] - 1182번 python 풀이 - backtracking (0) | 2023.06.30 |
---|---|
[백준/BOJ] - 5568번 python 풀이 - backtracking (0) | 2023.06.30 |
[백준/BOJ] - 1065번 python 풀이 - 숫자의 각 자릿수를 list에 int형으로 변환 하는법 (0) | 2023.05.10 |
[백준/BOJ] - 11659번 python 풀이 - dp (0) | 2023.04.17 |
[백준/BOJ] - 1620번 python 풀이 - dict (0) | 2023.04.14 |