[백준] 큐 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 라이브러리를 사용하면 좀 더 빠른 입력을 받을 수 있다.