728x90
반응형

기본적인 덱(Deque) 문제이다. sys.stdin.readline을 사용하지 않으면 시간 초과가 나온다.

import sys

class Deque():
    def __init__(self):
        self.li = []
    
    def push_front(self, n):
        self.li.insert(0, n)

    def push_back(self, n):
        self.li.append(n)

    def pop_front(self):
        print(self.li.pop(0) if self.li else -1)
    
    def pop_back(self):
        print(self.li.pop() if self.li else -1)
    
    def size(self):
        print(len(self.li))

    def empty(self):
        print(0 if self.li else 1)
        
    def front(self):
        print(self.li[0] if self.li else -1)
        
    def back(self):
        print(self.li[-1] if self.li else -1)

deque = Deque()
for _ in range(int(sys.stdin.readline())):
    s = sys.stdin.readline().split()
    if s[0] == "push_front":
        deque.push_front(int(s[1]))
    elif s[0] == "push_back":
        deque.push_back(int(s[1]))
    elif s[0] == "pop_front":
        deque.pop_front()
    elif s[0] == "pop_back":
        deque.pop_back()
    elif s[0] == "size":
        deque.size()
    elif s[0] == "empty":
        deque.empty()
    elif s[0] == "front":
        deque.front()
    elif s[0] == "back":
        deque.back()
728x90
반응형

+ Recent posts