Dolphins의 HelloWorld
[백준]Baekjoon11279(Priority_queue) 본문
힙은 완전이진트리를 바탕으로 한 자료구조로써 부모노드가 자식노드보다 크도록 설정해주면 최대힙 그 반대면 최소힙이라고 한다.
만약 최대힙을 구현했다면 루트노드에는 새로운 수를 삽입하든 삭제하든 가장 큰 수가 위치하게된다.
힙에대한 개념이 부족하다면 힙을 공부해보고 힙 소트를 한번 구현해볼 것을 권한다.
어쨌든 이러한 힙의 성질은 우선순위 큐와 일치하며 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