https://www.acmicpc.net/problem/10866
* 덱?
양방향으로 넣고 뺄수있는 큐를 말한다.
#include<bits/stdc++.h>
using namespace std;
int n;
deque<int> d;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 1; i <= n; ++i) {
string op = "";
cin >> op;
if (op == "push_front") {
int temp = 0;
cin >> temp;
d.push_front(temp);
}
else if (op == "push_back") {
int temp = 0;
cin >> temp;
d.push_back(temp);
}
else if (op == "pop_front") {
if (d.empty()) {
cout << "-1\n";
continue;
}
int temp = d.front();
cout << temp << "\n";
d.pop_front();
}
else if (op == "pop_back") {
if (d.empty()) {
cout << "-1\n";
continue;
}
int temp = d.back();
cout << temp << "\n";
d.pop_back();
}
else if (op == "size") {
cout << d.size() << "\n";
}
else if (op == "empty") {
cout << d.empty() << "\n";
}
else if (op == "front") {
if (d.empty()) cout << "-1\n";
else cout << d.front() <<"\n";
}
else if (op == "back") {
if (d.empty()) cout << "-1\n";
else cout << d.back() << "\n";
}
}
}
'Algorithm > 덱' 카테고리의 다른 글
백준 5430 AC c++ // 파싱, 덱 사용법 (0) | 2023.11.28 |
---|---|
백준 5430 cpp // string find,+=시간복잡도, split 구현방법, 예외처리방법 (0) | 2023.08.22 |
백준 1021 cpp // 데큐, 규칙찾기, find함수 사용법 (0) | 2023.08.21 |