PS

[백준/Python] (S2) 최소 힙 - 1927

MSHUN 2024. 3. 10.
반응형

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

Baekjoon Online Judge

반응형

댓글