문제
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을 쓰는지는 모르겠다.
'Koala - 8기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[BOJ/Python] 12847 꿀 아르바이트 (0) | 2022.10.03 |
---|---|
[백준/파이썬] 17245번 서버실 (0) | 2022.10.02 |
[BOJ/Python] 1644 소수의 연속합 (1) | 2022.09.26 |
[백준/python] 20922번 겹치는 건 싫어 (1) | 2022.09.25 |
[BOJ/Python] 14495 피보나치 비스무리한 수열 (0) | 2022.09.20 |