Dolphins의 HelloWorld

[백준]Baekjoon11279(Priority_queue) 본문

Algorithm/baekjoon문제풀이

[백준]Baekjoon11279(Priority_queue)

돌핀's 2018. 7. 4. 22:32


힙은 완전이진트리를 바탕으로 한 자료구조로써 부모노드가 자식노드보다 크도록 설정해주면 최대힙 그 반대면 최소힙이라고 한다.


만약 최대힙을 구현했다면 루트노드에는 새로운 수를 삽입하든 삭제하든 가장 큰 수가 위치하게된다.


힙에대한 개념이 부족하다면 힙을 공부해보고 힙 소트를 한번 구현해볼 것을 권한다.


어쨌든 이러한 힙의 성질은 우선순위 큐와 일치하며 c++에서 제공하는 라이브러리를 통해 쉽게 문제를 풀 수 있다.




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

int main()
{
	int N;
	int num;
	priority_queue>int< pq;
	cin >> N;
	while (N--) {
		cin >> num;
		if (!num) {
			pq.empty() ? printf("0\n") : printf("%d\n",pq.top());
			if (!pq.empty()) pq.pop();
		}
		else pq.push(num);
	}
}


'Algorithm > baekjoon문제풀이' 카테고리의 다른 글

[백준]Baekjoon11726(Dynamic Programming)  (0) 2018.07.09
[백준]Baekjoon1463(Dynamic Programming)  (0) 2018.07.09
[백준]Baekjoon4949(Stack)  (0) 2018.07.01
[백준]Baekjoon1076(map)  (0) 2018.07.01
[백준]Baekjoon10866(Deque)  (0) 2018.06.28
Comments