728x90
0. [c++] 백준 |
https://www.acmicpc.net/problem/1927
1. 풀이 |
https://kyunstudio.tistory.com/241과 거의 동일하니 참고!
2. 소스코드 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include<iostream> #include<queue> #include<functional> //greater를 사용하기 위해 선언 using namespace std; int main() { cin.tie(0); cin.sync_with_stdio(0); int N, num; cin >> N; //<data tape, container type, 정렬 기준> priority_queue<int, vector<int>, greater<int> > pq; for (int i = 0;i < N;i++) { cin >> num; if (num) { pq.push(num); } else { if (pq.empty()) cout << 0 << "\n"; else { cout << pq.top() << "\n"; pq.pop(); } } } return 0; } | cs |
3. 참고 |
구종만, 「프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략」, 인사이트, 2012, p.216~236.
질문이나 지적 있으시면 댓글로 남겨주세요~
도움 되셨으면 하트 꾹!
'<백준> > 우선순위 큐' 카테고리의 다른 글
[C++] 백준 1655 - 가운데를 말해요(우선순위 큐를 적용해야 하는데, 이분 탐색 활용) (0) | 2020.02.12 |
---|---|
[C++] 백준 11286 - 절댓값 힙(힙, 최소 힙) (0) | 2020.02.12 |
[C++] 백준 11279 - 최대 힙(우선순위 큐, 힙) (0) | 2020.02.12 |