https://programmers.co.kr/learn/courses/30/lessons/42628
글쎄.. 이문제는 무지 쉬웠다.
뭐 고민할게 있나.. 하고 5분만에 풀고 제출하니 통과했다.
그냥 우선순위큐는 기본적으로 최소힙이니까 최소값을 꺼낼때는 heappop 으로 최대값을 꺼낼땐 pop 으로.
최종적으로 남은 값이 있으면 answer 에 맥스, 민으로 값을 넣어주면 끝이다..
이게 왜 레벨 3이지??
import heapq
from collections import deque
def solution(operations):
answer = [0, 0]
d = deque(operations)
h = []
while d:
operation = d.popleft().split(' ')
command = operation[0]
num = int(operation[1])
if command == 'I':
heapq.heappush(h, num)
else:
if h:
if num < 0:
heapq.heappop(h)
else:
h.pop()
if h:
answer[0] = max(h)
answer[1] = min(h)
return answer