Algorithm/BAEKJOON
[백준] 10845번 큐 파이썬
깡뇽
2022. 2. 5. 23:59
반응형
Siver 4 레벨에 해당하는 문제이다. 이전에 풀었던 스택 문제와 같은 자료 구조 시리즈이다.
10845번 큐 풀이
[시도1] pypy3 맞았습니다!!
import sys
n = int(input())
queue = []
for i in range(n):
say = sys.stdin.readline().rstrip()
if 'push' in say:
num = say.split()
queue.append(num[-1])
elif say == 'pop':
if len(queue) == 0:
print(-1)
else:
print(queue[0])
queue = queue[1:]
elif say == 'size':
print(len(queue))
elif say == 'empty':
if len(queue) == 0:
print(1)
else:
print(0)
elif say == 'front':
if len(queue) == 0:
print(-1)
else:
print(queue[0])
elif say == 'back':
if len(queue) == 0:
print(-1)
else:
print(queue[-1])
스택 문제와의 차이점은 pop을 할 때에 스택은 제일 최근에 넣은 값을, 큐에서는 제일 먼저 넣은 값을 제거한다. 그리고 큐에서는 front와 back을 사용해서 맨 앞과 뒤의 값을 출력할 수 있다.
https://www.acmicpc.net/problem/10845
10845번: 큐
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
반응형