
문제 풀이
- 큐를 구현하는 문제이다.
- queue 헤더를 이용하여 쉽게 문제를 풀었다.
- 문제에서 요구하는 사항이 queue헤더가 반환하는 값과는 다르기 때문에 이를 잘 맞추어주어야한다.
C++ 코드
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main() {
queue <int> q;
string s;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> s;
if (s.compare("push") == 0) {
int x;
cin >> x;
q.push(x);
}
else if (s.compare("pop") == 0) {
if (q.empty())
cout << "-1\n";
else {
cout << q.front()<<"\n";
q.pop();
}
}
else if (s.compare("size") == 0) {
cout << q.size()<<"\n";
}
else if (s.compare("empty") == 0) {
if (q.empty() == true)
cout << "1\n";
else
cout << "0\n";
}
else if (s.compare("front") == 0) {
if (q.empty())
cout << "-1\n";
else
cout << q.front()<<"\n";
}
else if (s.compare("back") == 0) {
if (q.empty())
cout << "-1\n";
else
{
cout << q.back() << "\n";
}
}
}
return 0;
}