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
num = int(input())
heap = []
for i in range(num) :
n = int(sys.stdin.readline().rstrip())
if n == 0 :
if len(heap) == 0 :
print(0)
else :
print(heapq.heappop(heap))
else :
heapq.heappush(heap, n)
파이썬 개꿀
[백준/파이썬]9184 신나는 함수 실행 (0) | 2023.06.20 |
---|---|
[백준/파이썬]5525 IOIOI (0) | 2023.06.19 |
[백준/파이썬]1018 체스판 다시 칠하기 (0) | 2023.06.16 |
[백준/파이썬]1541 잃어버린 괄호 (0) | 2023.06.09 |
[백준/파이썬]1463 1로 만들기 (1) | 2023.06.09 |