- priority_queue에 그냥 greater<int>를 붙이면 될 줄 알았는데 초기화에 기본 컨테이너(vecter가 될 수도 있고 deque일 수도 있음)를 넣어줘야 한다.
- 답
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
int N{}, tmp{};
cin >> N;
priority_queue<int, vector<int>, greater<int>> queue;
for (int i = 0; i < N; i++)
{
cin >> tmp;
if (tmp == 0)
{
if (queue.empty())
{
cout << 0 << '\n';
}
else
{
cout << queue.top() << '\n';
queue.pop();
}
}
else
{
queue.push(tmp);
}
}
}
'C++_코딩테스트 > 컨테이너' 카테고리의 다른 글
[백준 20920번/C++] 영단어 암기는 괴로워(단어 정렬 문제) (0) | 2024.02.04 |
---|