티스토리 뷰

# 1655번 가운데를 말해요
import sys
import heapq

N = int(sys.stdin.readline())
list = []

max_heap = []
min_heap = []

for i in range(N):
    num = int(sys.stdin.readline())

    if len(max_heap) == len(min_heap):
        # max 에다가 붙이기
        heapq.heappush(max_heap, (-num, num))
    else:
        # min 에다가 붙이기
        heapq.heappush(min_heap, num)

    if len(max_heap) > 0 and len(min_heap) > 0:
        if max_heap[0][1] > min_heap[0]:
            # swap해주기
            fromMax = heapq.heappop(max_heap)
            fromMin = heapq.heappop(min_heap)

            heapq.heappush(max_heap, (-fromMin, fromMin))
            heapq.heappush(min_heap, fromMax[1])

    print(max_heap[0][1])
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함