Programing/백준, 프로그래머스(C++)

[C++][백준 1927] 최소 힙

hye3193 2025. 1. 21. 20:25

https://www.acmicpc.net/problem/1927

풀이

priority_queue(우선순위 큐)의 경우 기본적으로 최대힙으로 정렬이 된다

 

 

제출 코드

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

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    priority_queue<int, vector<int>, greater<int>> q;
    int n, input;
    cin >> n;
    while(n--)
    {
        cin >> input;
        if (input == 0)
        {
            if (q.empty()) cout << 0 << '\n';
            else 
            {
                cout << q.top() << '\n';
                q.pop();
            }
        }
        else
            q.push(input);
    }
}
// 최대힙
priority_queue<int> q;
priority_queue<int, vector<int>, less<int>> q;

// 최소힙
priority_queue<int, vector<int>, greater<int>> q;

최대 힙과 최소 힙은 위와 같이 선언하면 된다