max_heap과 min_heap 두개를 만들어서 각각 뺌
import heapq
def solution(operations):
min_heap = []
max_heap = []
while len(operations) != 0:
s = operations.pop(0)
a, n = s.split()
n = int(n)
if a == "I":
heapq.heappush(min_heap, n)
heapq.heappush(max_heap, -n)
else:
if len(min_heap) != 0:
if n == 1:
max_value = heapq.heappop(max_heap)
min_heap.remove(max_value*(-1))
else:
min_value = heapq.heappop(min_heap)
max_heap.remove(min_value*(-1))
if len(min_heap) == 0:
return [0,0]
return [max(min_heap),min(min_heap)]