문제설명
입출력 예제
개념
우선순위 큐(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 |