🥰 출처


🫡데크(Deque)란?

Untitled

데크는 더블 엔디드 큐(Double-Ended Queue)의 줄임말로, 글자 그대로 양쪽 끝을 모두 추출할 수 있는, 큐를 일반화한 형태의 추상 자료형이다.

  • 리스트와 같은 배열의 형태
  • 양방향의 queue 형태
  • 양 쪽 방향(앞, 뒤) 모두에서 요소를 추가하고 제거 가능
  • 파이썬에서는 collections 모듈에서 deque라는 이름으로 데크를 지원(이중연결리스트 형태)
##데크 불러오기
import collections
d = collections.deque()

😮데크(Deque)를 왜 사용하나요?

Untitled

데크의 속도는 O(1)의 속도, 리스트의 속도는 O(n)의 속도로 데크의 속도가 훨씬 빠르다.

  • 속도 측면에서 데크가 훨씬 빠름
  • 데크는 스택(Stack) / 큐(Queue) 형태로 사용 가능
  • 데크는 max length를 지정 가능

🤗데크(Deque)의 매서드

Untitled

🤗데크(Deque)의 Max length

데크는 처음 선언할 때 최대 길이 값(Max length)을 설정할 수 있다. 리스트는 길이를 생각하여 pop/remove를 해주어야 하는데 데크는 Max length기능으로 편하게 사용 가능하다.

from collections import deque

def solution(n, a):
	## 데크의 최대 길이 값 설
	q = deque(maxlen = n)