백준 [ALGORITHM] - 덱 (10866)
2023. 4. 20. 09:00ㆍ코딩/백준 [ALGORITHM]
반응형
from collections import deque
import sys
N = int(sys.stdin.readline())
dq = deque([])
def push(n):
dq.appendleft(n)
def pushb(n):
dq.append(n)
def pop():
if len(dq) != 0:
a = dq[0]
dq.popleft()
print(a)
else:
print("-1")
def popb():
if len(dq) != 0:
a = dq[-1]
dq.pop()
print(a)
else:
print("-1")
def size():
print(len(dq))
def empty():
if len(dq) == 0:
print("1")
else:
print("0")
def front():
if len(dq) == 0:
print("-1")
else:
print(dq[0])
def back():
if len(dq) == 0:
print("-1")
else:
print(dq[-1])
func_dict = {
"push_front" : push,
"push_back" : pushb,
"pop_front" : pop,
"pop_back" : popb,
"size" : size,
"empty" : empty,
"front" : front,
"back" : back
}
for i in range(0,N):
get = sys.stdin.readline().rstrip()
if " " in get:
key,value = get.split()
value = int(value)
func_dict[key](value)
else:
func_dict[get]()
그냥 list를 이용해서 덱 구현 하려고 했는데 자꾸 오답이래서 덱 모듈 이용함
반응형
'코딩 > 백준 [ALGORITHM]' 카테고리의 다른 글
백준 [ALGORITHM] - DFS와 BFS (1260) (0) | 2023.05.28 |
---|---|
백준 [ALGORITHM] - 카드2 (2164) (0) | 2023.04.21 |
백준 [ALGORITHM] - 제로 (10773) (0) | 2023.04.19 |
백준 [ALGORITHM] - 큐 (10845) (0) | 2023.04.18 |
백준 [ALGORITHM] - 최대공약수와 최소공배수 (2609) (0) | 2023.04.17 |