import sys
from collections import deque
n = int(sys.stdin.readline())
queue = deque([])
for i in range(n):
command = sys.stdin.readline().strip()
if command.split()[0] == 'push':
queue.append(command.split()[1])
elif command == 'pop':
if len(queue) > 0 :
print(queue.popleft())
else :
print(-1)
elif command == 'size':
print(len(queue))
elif command == 'empty':
if len(queue) == 0 :
print(1)
else :
print(0)
elif command == 'front':
if len(queue) > 0 :
print(queue[0])
else :
print(-1)
elif command == 'back':
if len(queue) > 0 :
print(queue[-1])
else :
print(-1)
코드 설명
입력 속도 개선을 위한 sys, 덱(큐) 사용을 위한 deque를 import 한다.
큐 사용을 위해 빈 큐(덱)을 하나 만든다. 그 후 반복문을 돌면서 명령어를 입력 받는다. 명령어의 첫번째가 push일 경우 인자 값이 있기 때문에 command.split()[0], [1] 을 활용하여 인자 값에 대한 처리를 해준다.
각 명령어에 맞는 기능을 구현한다.
Point : 이전 스택 문제와 마찬가지로 인수가 있는 명령어에 주의하여 작성하여야 한다.
command.split()[0], [1] 과 같은 방법을 활용하였다.
728x90
'SW개발 > 코딩테스트' 카테고리의 다른 글
[백준]11866번 요세푸스 문제 0 - 큐 (0) | 2021.01.17 |
---|---|
[백준]2164번 카드 2 - 큐 (0) | 2021.01.16 |
[백준]1874번 스택 수열 - 스택 (0) | 2021.01.14 |
[백준]4949번 균형잡힌 세상 - 스택 (0) | 2021.01.13 |
[백준]9012번 괄호 - 스택 (0) | 2021.01.12 |