출처 : https://www.acmicpc.net/problem/1927
1927번: 최소 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net

1) 요구사항 분석 : 문제 읽기
0이 주어진 횟수만큼 출력
2) 설계 : 접근 방식
최소힙을 이용
import heapq
입력으로 받은 숫자가 자연수일 경우에만 값을 입력
0이면 출력하고, 힙이 비어있으면 팝할때 에러가 발생하니 그땐 그냥 프린트 0
# BOJ1927 최소 힙
import sys, heapq
input = sys.stdin.readline
n = int(input())
heap = []
for x in range(n):
x = int(input())
if x > 0:
heapq.heappush(heap, x)
elif x == 0:
if len(heap) == 0:
print(0)
else:
print(heapq.heappop(heap))
'알고리즘 > BOJ' 카테고리의 다른 글
| [BOJ / 백준] 1715 카드 정렬하기 python / 파이썬 우선순위 큐 / 힙 (0) | 2023.08.19 |
|---|---|
| [BOJ / 백준] 11286 절댓값 힙 python / 파이썬 우선순위 큐 / 힙 (0) | 2023.08.18 |
| [BOJ / 백준] 11279 최대 힙 python / 파이썬 우선순위 큐 / 힙 (0) | 2023.07.14 |
| [BOJ / 백준] 5014 스타트링크 python / 파이썬 bfs (0) | 2023.07.11 |
| [BOJ / 백준] 16948 데스 나이트 python / 파이썬 bfs (0) | 2023.07.10 |
댓글