1주차(자료구조) - [C++]백준11279 최대 힙

1주차(자료구조) - [C++]백준11279 최대 힙

백준11279 최대 힙 링크

문제

오류

예제 입력

오류


코드

#include <iostream>
#include <queue>
using namespace std;

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int N;
	cin >> N;

	priority_queue<int> heap;
	int num;
	for (int i = 0; i < N; i++) {
		cin >> num;
		if (num == 0) {
			if (heap.empty())
				cout << 0 << "\n";
			else {
				cout << heap.top() << "\n";
				heap.pop();
			}
		}
		else
			heap.push(num);
	}
}

설명

C++ STL(표준 템플릿 라이브러리)에서 큐와 우선순위 큐가 있는데 그중 우선순위 큐를 사용하면 쉽게 풀 수 있습니다. 우선순위 큐는 힙이라고 생각하면 편한데 PUSH된 요소중에서 가장 큰값을 확인하기 위해 TOP를 사용할 수 있으면 POP해줄 수 있습니다.

<queue>
-priority_queue<자료형> 변수명; : 우선순위 큐(힙) 자료구조 사용

결과

오류


© 2022. All rights reserved. 신동민의 블로그