Algorithm/백준

[백준] 2751 with C++

nowkoes 2023. 4. 10. 14:53

문제설명


입출력 예제


개념

 우선순위 큐(priority_queue)를 이용해 비교자를 설정하면 쉽게 해결할 수 있는 문제다.


풀이

#include <iostream>
#include <queue>

int main() 
{
	std::priority_queue<int, std::vector<int>, std::greater<int>> que;
	int n;
	std::cin >> n;

 우선순위 큐를 초기화하고, 문제에서 오름차순으로 정렬하라 하였으므로 비교자를 greater<int>로 설정한다.

 

	for (int i = 0; i < n; i++)
	{
		int num;
		std::cin >> num;
		que.push(num);
	}

	while (!que.empty())
	{
		int num = que.top();
		std::cout << num << '\n';
		que.pop();
	}
}

 n번 숫자를 입력받아 que에 push를 하고 que가 빌 때까지 꺼내면서 pop하면 문제가 해결된다.

 

총합본

#include <iostream>
#include <queue>

int main() 
{
	std::priority_queue<int, std::vector<int>, std::greater<int>> que;
	int n;
	std::cin >> n;

	for (int i = 0; i < n; i++)
	{
		int num;
		std::cin >> num;
		que.push(num);
	}

	while (!que.empty())
	{
		int num = que.top();
		std::cout << num << '\n';
		que.pop();
	}
}
반응형

'Algorithm > 백준' 카테고리의 다른 글

[백준] 11650 with C++  (0) 2023.04.12
[백준] 1427 with C++  (0) 2023.04.11
[백준] 1929 with C++  (0) 2023.04.06
[백준] 25206 with C++  (0) 2023.04.05
[백준] 2563 with C++  (0) 2023.04.02