https://www.acmicpc.net/problem/10866
stl deque를 사용해서 요구사항대로 구현했다.
#include<iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <climits>
#include <queue>
#include <set>
#include <cmath>
#include <stack>
#include <list>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
deque<int> q;
while (n--) {
string s;
cin >> s;
if (s == "push_back") {
int temp;
cin >> temp;
q.push_back(temp);
} else if (s == "push_front") {
int temp;
cin >> temp;
q.push_front(temp);
} else if (s == "pop_front") {
if (!q.empty()) {
cout << q.front() << "\n";
q.pop_front();
} else {
cout << "-1\n";
}
} else if (s == "pop_back") {
if (!q.empty()) {
cout << q.back() << "\n";
q.pop_back();
} else {
cout << "-1\n";
}
} else if (s == "size") {
cout << q.size() << "\n";
} else if (s == "empty") {
cout << q.empty() << "\n";
} else if (s == "front") {
if (!q.empty()) {
cout << q.front() << "\n";
} else {
cout << "-1\n";
}
} else if (s == "back") {
if (!q.empty()) {
cout << q.back() << "\n";
} else {
cout << "-1\n";
}
}
}
return 0;
}
'PS > BOJ' 카테고리의 다른 글
[백준] 5430. AC(c++) (0) | 2025.02.05 |
---|---|
[백준] 1021. 회전하는 큐(c++) (0) | 2025.02.05 |
[백준] 2164. 카드2(c++) (0) | 2025.02.04 |
[백준] 18258. 큐 2(c++) (0) | 2025.02.04 |
[백준] 10845. 큐(c++) (0) | 2025.02.04 |