728x90
반응형
기본적인 덱(Deque) 문제이다. sys.stdin.readline을 사용하지 않으면 시간 초과가 나온다.
import sys
class Deque():
def __init__(self):
self.li = []
def push_front(self, n):
self.li.insert(0, n)
def push_back(self, n):
self.li.append(n)
def pop_front(self):
print(self.li.pop(0) if self.li else -1)
def pop_back(self):
print(self.li.pop() if self.li else -1)
def size(self):
print(len(self.li))
def empty(self):
print(0 if self.li else 1)
def front(self):
print(self.li[0] if self.li else -1)
def back(self):
print(self.li[-1] if self.li else -1)
deque = Deque()
for _ in range(int(sys.stdin.readline())):
s = sys.stdin.readline().split()
if s[0] == "push_front":
deque.push_front(int(s[1]))
elif s[0] == "push_back":
deque.push_back(int(s[1]))
elif s[0] == "pop_front":
deque.pop_front()
elif s[0] == "pop_back":
deque.pop_back()
elif s[0] == "size":
deque.size()
elif s[0] == "empty":
deque.empty()
elif s[0] == "front":
deque.front()
elif s[0] == "back":
deque.back()
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 11866번 요세푸스 문제 0(python) (0) | 2021.03.05 |
---|---|
백준 알고리즘 6198번 옥상 정원 꾸미기(python) (0) | 2021.03.05 |
백준 알고리즘 10845번 큐(python) (0) | 2021.03.05 |
백준 알고리즘 2812번 크게 만들기(python) (2) | 2021.03.05 |
백준 알고리즘 2841번 외계인의 기타 연주(python) (0) | 2021.03.05 |