스택, 큐 (2) - deque의 기능
2025. 1. 6. 18:25ㆍAlgorithms/백준알고리즘 연습
파이선 collections 에서는 스택과 큐의 기능을 모두 합한 deque기능을 제공 (선입후출은 같음)
from collections import deque
queue = deque()
이렇게 하면 queue를 만들 수 있고, 리스트 형태로 차례대로 수를 넣으면 됨
queue와 stack의 차이는 맨 아래에 있는 글자도 불러올 수 있음
print(queue.popleft()) 를 하면 맨 아래(리스트에서는 맨 왼쪽)글자를 빼낼 수 있음
값도 입력 가능함
queue.appendleft() 를 하면 사용 가능
예시 : 문자대로 설정 가능
import sys
from collections import deque
n = int(sys.stdin.readline())
queue = deque()
for _ in range(n):
command = sys.stdin.readline().split()
if command[0] == 'push':
queue.append(int(command[1]))
elif command[0] == 'pop':
if queue:
print(queue.popleft())
else:
print(-1)
elif command[0] == 'size':
print(len(queue))
elif command[0] == 'empty':
print(1 if not queue else 0)
elif command[0] == 'front':
if queue:
print(queue[0])
else:
print(-1)
elif command[0] == 'back':
if queue:
print(queue[-1])
else:
print(-1)
'Algorithms > 백준알고리즘 연습' 카테고리의 다른 글
스택, 큐, 덱 (2) (0) | 2025.01.06 |
---|---|
스택, 큐, 덱 (1) | 2025.01.06 |
백준 알고리즘 약수, 소수와 배수 2 (2) (1) | 2024.12.22 |
약수, 배수와 소수 2 (2) | 2024.12.14 |
백준 집합과 맵 (0) | 2024.12.11 |