알고리즘
[백준 10866] 덱 - 파이썬
Codult
2024. 2. 2. 16:46
728x90
백준 10866 - 덱

* 풀이과정
1) 문제에서 요구하는 8개의 함수를 각각 정의한다.
2) 입력받은 명령어에 인자가 포함되어 있는 경우, 아닌 경우를 나누어 함수를 실행한다.
3) 입력받은 글자를 함수명으로 호출하여 실행하기 위해, locals()를 사용하였다.
import sys
N=int(input())
deque=[]
def push_front(x):
global deque
deque = [x]+deque
def push_back(x):
global deque
deque.append(x)
def pop_front():
global deque
if len(deque) == 0: print(-1)
else:
print(deque[0])
deque = deque[1:len(deque)]
def pop_back():
global deque
if len(deque) == 0 : print(-1)
else:
print(deque[len(deque)-1])
deque.pop()
def size():
global deque
print(len(deque))
def empty():
global deque
if len(deque) == 0 : print(1)
else: print(0)
def front():
global deque
if len(deque) == 0: print(-1)
else: print(deque[0])
def back():
global deque
if len(deque) == 0: print(-1)
else: print(deque[len(deque)-1])
for _ in range (N):
order = sys.stdin.readline().split()
if len(order) == 1:
order = order[0]
locals()[order]()
else:
order, x = order[0], order[1]
locals()[order](x)728x90