CodingTest Exam/[C++] Algorithm Study

74. 최소힙(priority_queue : 우선순위 큐) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★☆☆☆☆

HongongHB 2023. 8. 21. 14:37

#include <stdio.h>
#include <queue>

using namespace std;

int main()
{
	int n;
	priority_queue<int> pQ;
	queue<int> Q;
	
	while(true)
	{
		scanf("%d", &n);
		
		if(n == 0)
		{
			if(pQ.empty())
				printf("%d", -1);
			else
			{
				Q.push(-pQ.top());
				pQ.pop();
			}
		}
		else if(n == -1)
		{
			while(!Q.empty())
			{
				printf("%d\n", Q.front());
				Q.pop();
			}
			break;
		}
		else
		{
			pQ.push(-n);
		}
	}
	
	return 0;
}

1. 최소힙의 경우에는 우선순위 큐에 넣을 때 부호를 바꿔서 넣고 꺼낼 때도 부호를 바꿔서 꺼낸다.