문제 출처 : www.acmicpc.net/problem/1927
문제 해석 : 유명한 자료구조 중 하나인 최소힙의 사용법 또는 구현을 할 수 있는지 묻는 문제이다.
문제 풀이 : 입력이 자연수일 때는 삽입 연산을, 0일 때는 pop을 해주는 문제이다. Python에서 제공하는 heapq 를 사용하면 간단하게 문제를 풀 수 있다.
가능한 다른 풀이 : Python에서 제공하는 모듈인 heapq를 사용하지 않고 직접 구현하여 만들 수 있다.
풀이 코드
import sys
import heapq
input = sys.stdin.readline
N = int(input())
Q = []
for _ in range(N):
temp = int(input())
if temp > 0 :
heapq.heappush(Q, temp)
elif temp == 0:
if len(Q) != 0:
print(heapq.heappop(Q))
elif len(Q) == 0:
print(0)
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] 백준 2178 미로 탐색 문제 풀이 (0) | 2021.01.12 |
---|---|
[알고리즘][Python] 백준 1992 쿼드트리 문제 풀이 (0) | 2021.01.10 |
[알고리즘][Python] 백준 1780 종이의 개수 문제 풀이 (0) | 2021.01.09 |
[알고리즘][Python] 백준 1764 듣보잡 문제 풀이 (0) | 2021.01.09 |
[알고리즘][Python] 백준 1697 숨바꼭질 문제 풀이 (0) | 2021.01.09 |