DevKim

[Python] 백준 #10866 덱 본문

알고리즘 PS

[Python] 백준 #10866 덱

on_doing 2021. 1. 14. 19:38
728x90

www.acmicpc.net/problem/10866

 

10866번: 덱

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

import sys
from collections import deque

deck=deque()
def push_back(x):
    deck.append(x)

def push_front(x):
    deck.appendleft(x)
    
def pop_front():
    if len(deck)==0:
        print(-1)
    else:
        a=deck.popleft()
        print(a)
        
def pop_back():

    if len(deck)==0:
        print(-1)
    else:
        print(deck.pop())
        
def size():
    print(len(deck))
    
def empty():
    s=len(deck)
    if s==0:
        print(1)
    else:
        print(0)
    
def front():
    s=len(deck)
    if s==0:
        print(-1)
    else:
        print(deck[0])
        
        
def back():
    s=len(deck)
    if s==0:
        print(-1)
    else:
        print(deck[s-1])
    
n=int(sys.stdin.readline())


for i in range(n):
    k=sys.stdin.readline().split()

    if k[0]=='push_front':
        push_front(k[1])
    elif k[0]=='push_back':
        push_back(k[1])
    elif k[0]=='pop_front':
        pop_front()
    elif k[0]=='pop_back':
        pop_back()   
    elif k[0]=='size':
        size()
    elif k[0]=='empty':
        empty()
    elif k[0]=='front':
        front()
    elif k[0]=='back':
        back()
728x90

'알고리즘 PS' 카테고리의 다른 글

[Python] 백준 #10820 문자열 분석  (0) 2021.01.14
[Python] 백준 #10808 알파벳 개수  (0) 2021.01.14
[Python] 백준 #10845 큐  (0) 2021.01.14
[Python] 백준 #10799 쇠막대기  (0) 2021.01.14
[Python] 백준 #3345 괄호  (0) 2021.01.14
Comments