728x90
반응형

큐 문제이다. 10845번 큐와 같은 문제이다.

이 문제는 collections.deque와 sys.stdin.readline을 사용해서 풀지 않으면 시간 초과가 나온다. 주의하자.

import sys
from collections import deque

class Queue():
    def __init__(self):
        self.li = deque()
    
    def push(self, n):
        self.li.append(n)

    def pop(self):
        print(self.li.popleft() 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)

queue = Queue()
for _ in range(int(sys.stdin.readline())):
    s = sys.stdin.readline().split()    
    if s[0] == "push":
        queue.push(int(s[1]))
    elif s[0] == "pop":
        queue.pop()
    elif s[0] == "size":
        queue.size()
    elif s[0] == "empty":
        queue.empty()
    elif s[0] == "front":
        queue.front()
    elif s[0] == "back":
        queue.back()
728x90
반응형

+ Recent posts