---
title: 'Queue using Two Stacks'
disqus: hackmd
---
Queue using Two Stacks
===
:::info
[python] **deque**
:::
Previous
---
[**Python**]에서 Stack과 Queue의 기능인 deque
> from collections import deque
> dq = deque('korea')
> deque(['k','o','r','e','a'])
**1. Stack 구현 : dq.append()**
> dq.append('N')
> deque(['k','o','r','e','a','n'])
: 맨 **끝**에서부터 원소가 추가입력이 된다.
> dq.pop()
> deque(['k','o','r','e','a'])
: 맨 **끝**에 있는 원소부터 사라진다.
**2. Queue 구현**
> dq.appendleft('s')
> deque(['s','k','o','r','e','a'])
: 맨 **앞**에서부터 원소가 추가입력이 된다.
> dq.popleft()
> deque(['k','o','r','e','a'])
: 맨 **앞**에 있는 원소부터 사라진다. / 그리고 삭제되는 원소가 출력된다.
**3. 확장하기**
> dq.extend('you')
> deque(['k','o','r','e','a','y','o','u'])
> dq.extendleft('you')
> deqye(['y','o','u','k','o','r','e','a','y','o','u'])
- 그 밖에
- insert()
- remove()
- reverse()
Content
---
- 각 명령어에 따라서 queue를 수행한다.
- 명령어에 따른 조건 및 활동
- '1' queue에 append
- '2' queue에 삭제 popleft
- '3' 출력된다
```gherkin=
form collection import deque
dq = deque()
for _ in range(int(input())):
order = input().split()
if order[0] == '1':
dq.append(int(order[1]))
elif order[0] == '2':
dq.popleft()
else:
print(dq[0])
```
Result
---
