백준
백준 10845 문제풀이 [python]
ys.k
2023. 6. 14. 00:08
포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.
문제를 보자.
큐를 배우기 위한 문제이다.
설명은 필요 없다.
코드를 보자.
import sys as s
from collections import deque
a = int(input())
queue= deque()
def q_push(n):
queue.append(n)
def q_pop():
if(len(queue) == 0):
print('-1')
return
print(queue.popleft())
def q_size():
print(len(queue))
def q_empty():
if len(queue)== 0 :
print('1')
else:
print('0')
def q_front():
if len(queue) == 0 :
print('-1')
else:
print(queue[0])
def q_back():
if len(queue) == 0 :
print('-1')
else:
print(queue[-1])
for i in range(a):
cmd=s.stdin.readline().strip().split()
if cmd[0] == 'push' :
q_push(cmd[1])
elif cmd[0] == 'pop' :
q_pop()
elif cmd[0] == 'size' :
q_size()
elif cmd[0] == 'empty' :
q_empty()
elif cmd[0] == 'front' :
q_front()
elif cmd[0] == 'back' :
q_back()
배운 점
1. queue를 만들 때, deque()를 사용하면 양방향 입 출력이 가능한 큐가 생성되고, list 혹은 배열로 만들 경우 단방향 큐가 된다.