컴퓨터 알고리즘

덱 Deque을 큐처럼 활용하기(+ 파이썬)

The Ohgorithm 2025. 9. 28. 23:30

덱은 Double Ended Queue를 줄인 말이다.
양 끝에서 삽입이나 삭제할 수 있는 큐를 구현한 것이다.
양 끝에서 삽입이나 삭제를 할 수 있다는 특징 때문에 큐를 구현할 때는 덱을 사용하는 것이 좋다.

 
 

from collections import deque   # 파이썬에서 큐를 쉽게 구현할 수 있는 deque 클래스 가져오기

queue = deque()                 # 빈 큐 생성

queue.append(1)                 # 큐에 1 삽입 → [1]
queue.append(2)                 # 큐에 2 삽입 → [1, 2]
queue.append(3)                 # 큐에 3 삽입 → [1, 2, 3]

first_item = queue.popleft()    # 큐의 맨 앞(front)에서 원소 꺼내기 → 1 반환, 큐는 [2, 3]
print(first_item)               # 출력: 1

queue.append(4)                 # 큐에 4 삽입 → [2, 3, 4]
queue.append(5)                 # 큐에 5 삽입 → [2, 3, 4, 5]

first_item = queue.popleft()    # 큐의 맨 앞(front)에서 원소 꺼내기 → 2 반환, 큐는 [3, 4, 5]
print(first_item)               # 출력: 2