반응형
https://www.acmicpc.net/problem/10866
파이썬 deque 라이브러리로 충분히 풀 수 있다.
from collections import deque
import sys
n = int(sys.stdin.readline())
q = deque()
for _ in range(n):
order = sys.stdin.readline()
a = order.split()
if a[0] == "push_back":
q.append(a[1])
elif a[0] == "push_front":
q.appendleft(a[1])
elif a[0] == "pop_front":
if q:
x = q.popleft()
print(x)
else:
print(-1)
elif a[0] == "pop_back":
if q:
x = q.pop()
print(x)
else:
print(-1)
elif a[0] == "size":
print(len(q))
elif a[0] == "empty":
if q:
print(0)
else:
print(1)
elif a[0] == "front":
if q:
x = q.popleft()
q.appendleft(x)
print(x)
else:
print(-1)
elif a[0] == "back":
if q:
x = q.pop()
q.append(x)
print(x)
else:
print(-1)
반응형
'알고리즘 풀이 > 자료구조' 카테고리의 다른 글
[백준/파이썬] 1764번 : 듣보잡 (0) | 2023.01.14 |
---|---|
[백준/파이썬] 1927번: 최소 힙 (0) | 2023.01.10 |
[백준/파이썬] 1966번 : 프린터 큐 (0) | 2023.01.09 |
[백준/파이썬] 11866번: 요세푸스 문제 0 (0) | 2023.01.07 |
[백준/파이썬] 2164번: 카드2 (0) | 2023.01.07 |
댓글