코딩테스트

스택과 큐2. 백준10845번 큐

Giant Oreo 2021. 5. 11. 18:48

import sys
input = sys.stdin.readline
n = int(input())
queue = []
for _ in range(n):
    c = input().split()
    if c[0]=='push':
        queue.insert(0,int(c[1]))
    elif c[0]=='pop':
        if not queue :
            print(-1)
        else:
            print(queue.pop())
    elif c[0]=='size':
        print(len(queue))
    elif c[0]=='empty':
        if not queue:
            print(1)
        else:
            print(0)
    elif c[0]=='front':
        if not queue:
            print(-1)
        else:
            print(queue[len(queue)-1])
    elif c[0]=='back':
        if not queue:
            print(-1)
        else:
            print(queue[0])

큐는 스택과 다르게 양쪽이 뚫려있기 때문에 front쪽에서 가장 먼저 들어간 데이터를 뽑을 수 있고, back쪽에서 원소를 넣을 수 있다. 그렇기 때문에 front명령을 하면 리스트의 가장 뒤쪽에 위치한 원소가 출력되야 한다.