알고리즘/BOJ
[C++] 백준 10845번 큐
Jay, Lee
2021. 3. 26. 14:48
처음에 이 문제를 봤을때 진짜 queue만 써서 구하는 문제는 아니겠지...?라는 마음으로 접근했는데,
queue 자체의 기능을 써도 되는 것 같고, 구조체를 써도 되는 것 같았다.
하지만 구조체를 하직 배우지 않아서 queue를 사용하는 방향으로 문제를 풀었다.
#include <iostream>
#include <string>
#include <queue>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int testCase;
cin >> testCase;
queue<int> q;
for (int i = 0; i < testCase; i++) {
string s;
cin >> s;
if (s == "push") {
int n;
cin >> n;
q.push(n);
}
else if (s == "pop") {
if (q.empty()) {
cout << -1 <<"\n";
}
else {
cout << q.front() << "\n";
q.pop();
}
}
else if (s == "size") {
cout << q.size() << "\n";
}
else if (s == "empty") {
cout << q.empty() << "\n";
}
else if (s == "front") {
if (q.empty()) {
cout << -1 << "\n";
}
else {
cout << q.front() << "\n";
}
}
else if (s == "back") {
if (q.empty()) {
cout << -1 << "\n";
}
else {
cout << q.back() << "\n";
}
}
}
return 0;
}