알고리즘

[백준 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