11279번: 최대 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이�
www.acmicpc.net
[문제 풀이]
STL의 우선 순위 큐를 이용하여 문제를 풀어보았습니다.
이 문제는 단순히 STL을 구현하는 것이므로 설명은 생략하겠습니다.
priority_queue에 대한 개념은 아래에 링크에 정리되어있습니다.
1927번: 최소 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이�
www.acmicpc.net
[코드]
#include<iostream>
#include<queue>
using namespace std;
int N;
priority_queue<int> p_queue;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> N;
for (int i = 0; i < N; i++) {
int temp;
cin >> temp;
if (temp == 0) {
if (p_queue.empty()) {
cout << 0 << "\n";
}
else {
cout << p_queue.top() << "\n";
p_queue.pop();
}
}
else {
p_queue.push(temp);
}
}
return 0;
}
'algorithm > BOJ' 카테고리의 다른 글
백준 9342_염색체(C++) (2) | 2020.10.20 |
---|---|
백준 1927_최소 힙(C++) (0) | 2020.10.18 |
백준 10845_큐(C++) (0) | 2020.10.17 |
백준 10828_스택(C++) (0) | 2020.10.17 |
백준 7453_합이 0인 네 정수(C++) (0) | 2020.10.15 |