https://www.acmicpc.net/problem/10866
#Solution
collections 모듈의 deque을 사용해서 풀어준다.
import collections
class water:
def __init__(self):
self.deque = collections.deque()
def push_back(self, num):
self.deque.append(num)
def push_front(self, num):
self.deque.appendleft(num)
def pop_front(self):
if self.deque:
return self.deque.popleft()
else:
return -1
def pop_back(self):
if self.deque:
return self.deque.pop()
else:
return -1
def size(self):
return len(self.deque)
def empty(self):
if self.deque:
return 0
else:
return 1
def front(self):
if self.deque:
return self.deque[0]
else:
return -1
def back(self):
if self.deque:
return self.deque[-1]
else:
return -1
test = int(input())
case = water()
result = []
for i in range(test):
a = input()
if " " in a:
a, b = a.split()
if a == "push_back":
case.push_back(b)
elif a == "push_front":
case.push_front(b)
elif a =="pop_front":
result.append(case.pop_front())
elif a =="pop_back":
result.append(case.pop_back())
elif a =="size":
result.append(case.size())
elif a =="empty":
result.append(case.empty())
elif a =="front":
result.append(case.front())
elif a =="back":
result.append(case.back())
for i in result:
print(i)
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#114 백준 파이썬 [15649] N과 M (1) - 순열 (0) | 2019.09.29 |
---|---|
#113 백준 파이썬 [10845] 큐 (0) | 2019.09.29 |
#111 백준 파이썬 [1966] 프린터 큐 (0) | 2019.09.27 |
#110 백준 파이썬 [17298] 오큰수 - 스택 (0) | 2019.09.27 |
#109 백준 파이썬 [1874] 스택 수열 (0) | 2019.09.27 |