10845번: 큐
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
단순히 문제의 요구대로 구현만 해주면 되는 문제였다. 단, 해당 문제는 First In First Out 구조인 큐를 구현하는 문제였기 때문에 collections 라이브러리의 deque를 활용했다. 코드는 다음과 같다.
import sys
from collections import deque
input = sys.stdin.readline
n = int(input())
queue = deque()
for _ in range(n):
operation = input().rstrip()
if operation == "pop":
if len(queue) == 0:
print(-1)
else:
print(queue.popleft())
elif operation == "size":
print(len(queue))
elif operation == "empty":
if len(queue) == 0:
print('1')
else:
print('0')
elif operation == "front":
if len(queue) == 0:
print(-1)
else:
print(queue[0])
elif operation == "back":
if len(queue) == 0:
print(-1)
else:
print(queue[-1])
else:
input_value = operation.split(' ')[1]
queue.append(input_value)
'Algorithm > Data Structure' 카테고리의 다른 글
[백준] 17413: 단어 뒤집기 2 (python 파이썬) (0) | 2024.04.08 |
---|---|
[백준] 10866: 덱 (python 파이썬) (2) | 2024.04.07 |
[백준] 1406: 에디터 (python 파이썬) (0) | 2024.04.05 |
[백준] 1874: 스택 수열 (python 파이썬) (0) | 2024.04.04 |
[백준] 9012: 괄호 (python 파이썬) (0) | 2024.04.04 |