[백준] 큐 2 18258번

나의 풀이

from collections import deque
import sys

N = int(input())
queue = deque()
for i in range(N):
    command = list(sys.stdin.readline().split())
    size = len(queue)
    if command[0].__contains__("push"):
        queue.append(int(command[1]))
    elif command[0] == "pop":
        if queue:
            print(queue.popleft())
        else:
            print(-1)
    elif command[0] == "size":
        print(size)
    elif command[0] == "empty":
        print(0) if size != 0 else print(1)
    elif command[0] == "front":
        print(queue[0]) if queue else print(-1)
    elif command[0] == "back":
        print(queue[-1]) if queue else print(-1)
  • 큐는 FIFO(First In First Out) 으로 선입선출 구조이다. 큐를 실생활에서 찾아보자면 식당에 대기하기위해 우리는 줄을 서야한다. 이때, 먼저 와서 대기하는 손님먼저 들어가게된다.
  • 큐의 구조만 알면 쉽게 풀 수 있는 문제이다.
  • 파이썬에서는 sys 라이브러리를 사용하면 좀 더 빠른 입력을 받을 수 있다.

0개의 댓글