Koala - 8기/코딩테스트 준비 스터디

[BOJ/Python] 11279 최대 힙

ekmonet1 2022. 10. 31. 21:07

문제

https://www.acmicpc.net/problem/11279

 

11279번: 최대 힙

첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가

www.acmicpc.net

 

코드

풀이

입력받은 x가 0이 아니면 배열에 x를 추가하고, x가 0이면 배열에서 가장 큰 값을 출력하고 그 값을 배열에서 제거한다.

heappush를 이용해 가장 큰 입력값이 0으로 오게 배열에 x를 추가하고, x가 0이 되면 가장 큰 요소를 반환한다.

처음에 문제 제목을  최대 합으로 보고 힙 모듈을 모른 상태에서 계속 시간 초과가 나는 이런 코드를 쓰고 있다가

heapq라는 모듈을 새로 알게 되어서 포스팅 문제로 골랐다. 왜 heap을 쓰는지는 모르겠다.