반응형

큐를 잘 이해하고 있는지 확인하는
기본 문제다
구현 상의 특징이라고 할만한 건
push X를 구현할 때
push라는 단어가 입력되었을 때
x를 입력하도록 구현해주면 된다
cin은 공백을 기준으로 입력을 받기 때문이다
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main() {
int n;
int x;
cin >> n;
string s;
queue<int> q;
for(int tmp=0; tmp<n; tmp++)
{
cin >> s;
if(s == "push")
{
cin >> x;
q.push(x);
}
if(s == "pop")
{
if(q.size() == 0) cout << -1 << "\n";
else
{
cout << q.front() << "\n";
q.pop();
}
}
if(s == "size")
{
cout << q.size() << "\n";
}
if(s == "empty")
{
if(q.empty()) cout << 1 << "\n";
else cout << 0 << "\n";
}
if(s == "front")
{
if(q.size() == 0) cout << -1 << "\n";
else cout << q.front() << "\n";
}
if(s == "back")
{
if(q.size() == 0) cout << -1 << "\n";
else cout << q.back() << "\n";
}
}
return 0;
}반응형
'algorithm > 큐' 카테고리의 다른 글
| [algorithm] 백준 2164번 카드2 (0) | 2026.01.17 |
|---|---|
| [algorithm] 백준 18258번 큐 2 (0) | 2026.01.17 |