728x90
덱 문제입니다.
덱에 대한 함수를 만들어서
그에 대한 결과값을 출력해주면 됩니다.
#include <iostream>
#include <algorithm>
#include <deque>
#include <string>
using namespace std;
deque<int> d;
void push_front_(int x)
{
d.push_front(x);
}
void push_back_(int x)
{
d.push_back(x);
}
int pop_front_()
{
if (d.empty()) {
return -1;
}
else {
int num = d.front();
d.pop_front();
return num;
}
}
int pop_back_()
{
if (d.empty()) {
return -1;
}
else {
int num = d.back();
d.pop_back();
return num;
}
}
int size_()
{
return d.size();
}
int empty_()
{
if (d.empty()) {
return 1;
}
else {
return 0;
}
}
int front_()
{
if (d.empty()) {
return -1;
}
else {
return d.front();
}
}
int back_()
{
if (d.empty()) {
return -1;
}
else {
return d.back();
}
}
int main(int argc, char *argv[])
{
int n;
int num;
string s;
cin >> n;
while (n--){
cin >> s;
if (s == "push_front") {
cin >> num;
push_front_(num);
}
else if (s == "push_back") {
cin >> num;
push_back_(num);
}
else if (s == "pop_front") {
cout << pop_front_() << endl;
}
else if (s == "pop_back") {
cout << pop_back_() << endl;
}
else if (s == "size") {
cout << size_() << endl;
}
else if (s == "empty") {
cout << empty_() << endl;
}
else if (s == "front") {
cout << front_() << endl;
}
else if (s == "back") {
cout << back_() << endl;
}
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 5430번 AC (2) | 2019.09.08 |
---|---|
[C++] 백준 1021번 회전하는 큐 (0) | 2019.09.08 |
[C++] 백준 1966번 프린터 큐 (0) | 2019.09.08 |
[C++] 백준 11866번 조세퍼스 문제 0 (0) | 2019.09.08 |
[C++] 백준 10845번 큐 (0) | 2019.09.07 |