본문 바로가기

Programming [Python]/백준 알고리즘 솔루션

#113 백준 파이썬 [10845] 큐

https://www.acmicpc.net/problem/10845

 

 

#Solution

class fire:
    def __init__(self):
        self.queue = []

    def push(self, num):
        self.queue.append(num)
    
    def pop(self):
        if self.queue:
            return self.queue.pop(0)
        else:
            return -1

    def size(self):
        return len(self.queue)

    def empty(self):
        if self.queue:
            return 0
        else:
            return 1
        
    def front(self):
        if not self.queue:
            return -1
        else:
            return self.queue[0]
        
    def back(self):
        if not self.queue:
            return -1
        else:
            return self.queue[-1]
        
case = int(input())
test = fire()
result = []

for i in range(case):
    cmd = input()
    if " " in cmd:
        cmd, num = cmd.split()
    if cmd == "push":
        test.push(num)
    elif cmd =="size":
        result.append(test.size())
    elif cmd =="empty":
        result.append(test.empty())
    elif cmd =="pop":
        result.append(test.pop())
    elif cmd =="front":
        result.append(test.front())
    elif cmd =="back":
        result.append(test.back())
        
    
for i in result:
    print(i)