[BOJ] 11279 최대 힙
me
import heapq
import sys
input = sys.stdin.readline
hq=[]
N = int(input())
for _ in range(N):
temp = int(input())
if temp > 0: heapq.heappush(hq,-temp)
elif temp ==0 :
if not hq:
print(0)
continue
print(-heapq.heappop(hq))
풀었다..! (22.1.30)
solution
import heapq
import sys
n = int(sys.stdin.readline())
q = []
for i in range(n):
x = int(sys.stdin.readline())
if x == 0:
if len(q) == 0:
print(0)
else:
print(abs(heapq.heappop(q)))
else:
heapq.heappush(q, -x)
# heapq는 기본적으로 최소 힙으로, 음수로 바꿔 넣어서 최소 힙으로 정렬되면 값들을 절대값을 씌우게 되면 최대힙이 된다.
# 기본 가정은 원소 값들이 자연수여야 할 것 같다.
Author And Source
이 문제에 관하여([BOJ] 11279 최대 힙), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kinnyeri/BOJ-11279-최대-힙저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)