728x90
큐와 비슷하지만 덱은 양쪽에서 push, pop이 가능하다.
코드
import sys
n = int(input())
deque = []
for i in range(n):
command = sys.stdin.readline().split()
if command[0] == 'push_front' :
deque.insert(0,command[1])
elif command[0] == 'push_back' :
deque.append(command[1])
elif command[0] == "pop_front" :
if len(deque) == 0 :
print(-1)
else :
print(deque.pop(0))
elif command[0] == "pop_back" :
if len(deque) == 0 : print(-1)
else : print(deque.pop(len(deque)-1))
elif command[0] == 'size':
print(len(deque))
elif command[0] == 'empty':
if len(deque) == 0 :
print(1)
else :
print(0)
elif command[0] == 'front':
if len(deque) == 0 :
print(-1)
else :
print(deque[0])
elif command[0] == 'back' :
if len(deque) == 0 :
print(-1)
else :
print(deque[-1])
입출력
'Algorithm' 카테고리의 다른 글
[알고리즘] 알파벳 찾기 백준 10809 (Python) (0) | 2022.01.17 |
---|---|
[알고리즘] 알파벳 개수 백준 10808 (Python) (0) | 2022.01.17 |
[알고리즘] 큐 백준 10845 (Python) (0) | 2022.01.14 |
[알고리즘] 괄호 백준 9012 (Python) (0) | 2022.01.14 |
[알고리즘] 스택 백준 10828 (Python) (0) | 2022.01.14 |