Oh My Algorithm
Algorithm Guidecomplexity: O(1) 양끝 삽입/삭제

덱 (Deque)

양쪽 끝에서 모두 삽입·삭제가 가능한 이중 종단 큐입니다. 스택과 큐를 모두 흉내낼 수 있어 슬라이딩 윈도우·회문 검사·양방향 탐색에 활용됩니다.

01 알고리즘 작동 원리 탐색

Interactive Step-by-Step
TAP OR HOVER
Deque · 양끝 삽입·삭제
empty

덱(Deque) 시작. 양쪽 끝 모두에서 넣고 뺄 수 있는 이중 종단 큐입니다.

Logic Node1 / 8

02 쉽게 이해하기

For Everyone
🔑비유

양쪽이 뚫린 컨베이어 — 앞에서도 뒤에서도 물건을 넣고 뺄 수 있습니다.

💡쉽게 말하면

큐와 스택을 합친 형태로, 양쪽 끝 모두에서 넣고 뺄 수 있어 더 유연합니다.

📍어디에 쓰나

최근 사용 목록(오래된 건 앞에서 버리고 새 건 뒤에 추가), 회문 검사, 슬라이딩 윈도우.

03 파이썬 구현 코드

덱 (Deque)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.

core_implementation.py
from collections import deque

dq = deque()
dq.append(x)        # 뒤에 추가
dq.appendleft(x)    # 앞에 추가
dq.pop()            # 뒤에서 제거
dq.popleft()        # 앞에서 제거
dq[0], dq[-1]       # 양끝 조회
Guide Progress0%