반응형
백준 10866번 덱
자료구조 / 덱
[문제]
[과정]
큐 문제와 같음
차이점은 pop과 push를 앞,뒤에 나눠서 구현한다는 것
[소스코드]
# 10866 덱
from collections import deque
import sys
input = sys.stdin.readline
q = deque()
for i in range(int(input())):
data = input().split()
if data[0] == 'push_front':
q.appendleft(data[1])
elif data[0] == 'push_back':
q.append(data[1])
elif data[0] == 'pop_front':
if len(q) == 0:
print(-1)
else:
n = q.popleft()
print(n)
elif data[0] == 'pop_back':
if len(q) == 0:
print(-1)
else:
n = q.pop()
print(n)
elif data[0] == 'size':
print(len(q))
elif data[0] == 'empty':
if len(q) == 0:
print(1)
else: print(0)
elif data[0] == 'front':
if len(q) == 0:
print(-1)
else: print(q[0])
elif data[0] == 'back':
if len(q) == 0:
print(-1)
else: print(q[-1])
[통과]
반응형
'코딩테스트 문제풀이 > beakjoon' 카테고리의 다른 글
[백준] 5430 AC (0) | 2022.08.12 |
---|---|
[백준] 1021 회전하는 큐 (0) | 2022.08.12 |
[백준] 14503 로봇 청소기 (0) | 2022.08.12 |
[백준] 13335 트럭 (0) | 2022.08.12 |
[백준] 14499 주사위 굴리기 (0) | 2022.08.11 |
댓글