#include <cstdio>
#include <deque>
using namespace std;
int main(void)
{
deque<int> deq;
int n = 0;
char pushes[12];
int pushData;
scanf("%d", &n);
while(n--)
{
scanf("%s", pushes);
switch (pushes[0])
{
case 's' :
printf("%lu\n", deq.size());
break;
case 'e' :
printf("%d\n", deq.empty());
break;
case 'f' :
printf("%d\n", deq.empty() ? -1 : deq.front());
break;
case 'b' :
printf("%d\n", deq.empty() ? -1 : deq.back());
break;
case 'p' :
if(pushes[1] == 'u')
{
scanf("%d", &pushData);
if(pushes[5] == 'f')
{
deq.push_front(pushData);
}
else
{
deq.push_back(pushData);
}
}
else
{
if(pushes[4] == 'f')
{
if(deq.empty())
{
printf("%d\n", -1);
}
else
{
printf("%d\n", deq.front());
deq.pop_front();
}
}
else
{
if(deq.empty())
{
printf("%d\n", -1);
}
else
{
printf("%d\n", deq.back());
deq.pop_back();
}
}
}
}
}
}
[Try]
1. 성공
[Point]
1. 문제 제목처럼 덱 자료구조의 사용. 앞뒤로 빼고 넣을 수 있는 형태이다. STL 기본제공
[More]
1. 이런 문제는 꼭 직접 짜보기
'PS > BOJ' 카테고리의 다른 글
[백준] 1436.cpp : 영화감독 숌 (0) | 2020.05.13 |
---|---|
[백준] 11866.cpp : 요세푸스 문제 0 (0) | 2020.05.12 |
[백준] 10845.cpp : 큐 (0) | 2020.05.11 |
[백준] 1065.py : 한수 (0) | 2020.05.11 |
[백준] 4673.py : 셀프 넘버 (0) | 2020.05.11 |