본문 바로가기
알고리즘 풀이/자료구조

[백준/파이썬] 1927번: 최소 힙

by developer jini 2023. 1. 10.
728x90

https://www.acmicpc.net/problem/1927

 

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 = []
result = []
for _ in range(n):
    a = int(sys.stdin.readline())
    if a > 0:
        heapq.heappush(heap, a)
    else:
        if len(heap) != 0:
            result.append(heapq.heappop(heap))
        else:
            result.append(0)
for i in result:
    print(i)

 

파이썬 heapq 라이브러리를 사용하여 문제를 풀이하였음.
리스트로 문제 풀이시 시간초과. 요소를 삭제하는 과정에서 시간차이가 남.

 

 

 

728x90

댓글