반응형
Baekjoon Online Judge의 1927번 최소 힙 문제의 Python 풀이입니다.
1927번: 최소 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
💻코드
import sys
import heapq
n = int(sys.stdin.readline())
heap = [] # 힙으로 사용될 빈 리스트를 초기화
for _ in range(n):
num = int(sys.stdin.readline())
if num == 0: # 입력받은 숫자가 0이면
if not heap: # 힙이 비어있다면 0을 출력
print(0)
else: # 힙이 비어있지 않다면
print(heapq.heappop(heap)) # 힙에서 가장 작은 요소를 제거하고 그 값을 출력
else: # 입력받은 숫자가 0이 아니면
heapq.heappush(heap, num) # 해당 숫자를 힙에 추가
🧠풀이
heapq를 사용해 최소힙 만들기
🤔느낀 점
최소 heap
반응형
댓글