Algorithm/Baekjoon
[백준 10866] C++ - 덱 Deque
say!
2024. 7. 21. 16:40
728x90
//백준 10866 - 덱
#include <iostream>
#include <deque>
#include <string>
using namespace std;
int main(){
int n;
cin >> n; // 명령어 개수 입력
string cmd;
deque<int> d; // 덱 생성
while(n--){
cin >> cmd; // 명령어 입력
if(cmd == "push_front"){
int num;
cin >> num;
d.push_front(num);
}
else if(cmd == "push_back"){
int num;
cin >> num;
d.push_back(num);
}
else if(cmd == "pop_front"){
if(d.empty())
cout << "-1\n";
else {
cout << d.front() << "\n";
d.pop_front();
}
}
else if(cmd == "pop_back"){
if(d.empty()) // 들어있는 정수가 없는 경우
cout << "-1\n";
else {
cout << d.back() << "\n";
d.pop_back();
}
}
else if(cmd == "size"){ // 들어있는 정수 개수 출력
cout << d.size() << "\n";
}
else if(cmd == "empty"){ // 비어있으면 1, 아니면 0
if(d.empty()) cout << "1\n";
else cout << "0\n";
}
else if(cmd == "front"){
if(d.empty()) // 들어있는 정수가 없는 경우
cout << "-1\n";
else cout << d.front() << "\n";
}
else if(cmd == "back"){
if(d.empty()) // 들어있는 정수가 없는 경우
cout << "-1\n";
else cout << d.back() << "\n";
}
}
return 0;
}