Agorithm/백준 알고리즘
백준 알고리즘 10866번 덱(python)
kimjinho1
2021. 3. 5. 17:39
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
반응형