1655번 - 가운데를 말해요
계속 런타임 에러(Name Error)가 나네요
어떤 부분에서 문제가 있을까요...?
Heap 2개 만들어서 풀었고
주피터에서 돌리면 정답은 잘 나오는데 ㅠ
# 최소힙min_h = [] # 기준보다 큰 값# 최대힙max_h = [] # 기준보다 작은 값n = int(input())# 처음 값을 기준으로heapq.heappush(max_h, -int(input()))print(-max_h[0])for _ in range(n - 1): value = int(input()) if value < -max_h[0]: heapq.heappush(max_h, -value) else: heapq.heappush(min_h, value) if len(max_h) < len(min_h): heapq.heappush(max_h, -heapq.heappop(min_h)) print(-max_h[0]) elif len(max_h) > len(min_h) + 1: heap.heappush(min_h, -heapq.heappop(max_h)) if len(max_h) == len(min_h): print(-max_h[0])
제출한 코드를 전부 올리신 게 맞다면 heapq에 대한 정의가 없습니다.
그리고 코드는 글 쓰는 곳 아래 소스 추가 버튼을 눌러서 써주세요.
댓글을 작성하려면 로그인해야 합니다.
ingbox01 1년 전
계속 런타임 에러(Name Error)가 나네요
어떤 부분에서 문제가 있을까요...?
Heap 2개 만들어서 풀었고
주피터에서 돌리면 정답은 잘 나오는데 ㅠ
# 최소힙
min_h = [] # 기준보다 큰 값
# 최대힙
max_h = [] # 기준보다 작은 값
n = int(input())
# 처음 값을 기준으로
heapq.heappush(max_h, -int(input()))
print(-max_h[0])
for _ in range(n - 1):
value = int(input())
if value < -max_h[0]:
heapq.heappush(max_h, -value)
else:
heapq.heappush(min_h, value)
if len(max_h) < len(min_h):
heapq.heappush(max_h, -heapq.heappop(min_h))
print(-max_h[0])
elif len(max_h) > len(min_h) + 1:
heap.heappush(min_h, -heapq.heappop(max_h))
if len(max_h) == len(min_h):
print(-max_h[0])