문제설명
입출력 예제
개념
큐의 기본적인 구조를 잘 이해하고 있는지 묻는 문제다. 기존의 스택(10828) 문제처럼 입력받은 문자열에 맞게 큐의 동작을 수행하게끔 작성하면 해결할 수 있다.
풀이
#include <iostream>
#include <queue>
using namespace std;
int main()
{
ios::sync_with_stdio(false); cin.tie(nullptr);
int N, n;
cin >> N;
queue<int> q;
while (N--)
{
string str;
cin >> str;
if (str == "push")
{
cin >> n;
q.push(n);
}
else if (str == "front")
{
if (q.empty())
cout << "-1\n";
else
cout << q.front() << '\n';
}
else if (str == "back")
{
if (q.empty())
cout << "-1\n";
else
cout << q.back() << '\n';
}
else if (str == "size")
cout << q.size() << '\n';
else if (str == "empty")
cout << q.empty() << '\n';
else if (str == "pop")
{
if (q.empty())
cout << "-1\n";
else
{
n = q.front();
cout << n << '\n';
q.pop();
}
}
}
}
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 1966 프린터 큐 with C++ (0) | 2023.05.16 |
---|---|
[백준] 11866 요세푸스 문제 0 with C++ (0) | 2023.05.15 |
[백준] 2164 카드2 with C++ (0) | 2023.05.13 |
[백준] 1874 스택 수열 with C++ (0) | 2023.05.12 |
[백준] 4949 균형잡힌 세상 with C++ (0) | 2023.05.11 |