[파이썬 모듈 collections] deque 큐의 이해, 사용법Python2021. 12. 21. 16:00
Table of Contents
파이썬 코딩 테스트에서 자주 사용되는 데큐(deque)입니다.
from collections import deque
이렇게 불러올 수 있습니다.
deque를 사용하면 얻는 장점
- 엄격한 리스트를 만들 수 있다.
- 속도가 리스트에 비해 굉장히 빠르다. List = O(n), deque = O(1)
- 당연하지만 큐작업이 훨씬 편해진다.
큐(QUEUE)에 대한 이해.
큐는 기본적으로 선입 선출 (FIFO : First In First Out)구조입니다.
예시로는 다음이 있습니다.
- 프린터기 : 프린터기는 먼저 인쇄를 누른 것부터 차례대로 작동합니다.
- 은행 대기표 : 은행에서는 먼저 대기표를 뽑은 사람부터 차례대로 서비스를 진행합니다.
deque 함수는 큐에 제한되어 있는 선입선출 제한을 풀어서, 더 여러곳에 사용할 수 있도록 한 함수입니다.
deque 사용하기
>>> from collections import deque
>>> data = [1, 2, 3, 4, 5]
>>> d = deque(data)
>>> print(d)
deque([1, 2, 3, 4, 5])
함수 목록은 다음을 참조해주세요.
함수 목록:
- append
- appendleft
- clear
- copy
- count
- extend
- extendleft
- index
- insert
- maxlen
- pop
- popleft
- remove
- reverse
- rotate
보시면 아시겠지만, 리스트 함수와 굉장히 유사합니다.
여기서 눈여겨 볼 함수는 다음과 같습니다.
- appendleft : 왼쪽에 개체를 추가합니다.
- extendleft : 왼쪽에 리스트를 연장합니다.
- maxlen : 큐의 길이를 반환합니다.
- popleft : 큐의 맨 왼쪽에 있는 개체를 반환합니다.
- rotate : 큐를 회전합니다.
로테이트는 처음 접하시면 생소하실 것입니다.
>>> d = deque([1, 2, 3, 4, 5])
>>> print(d)
>>> d.rotate(2)
>>> print(d)
>>> d.rotate(-2)
>>> print(d)
deque([1, 2, 3, 4, 5])
deque([4, 5, 1, 2, 3])
deque([1, 2, 3, 4, 5])
큐 [1 ,2 ,3 ,4 ,5]가 오른쪽에서 왼쪽 방향으로 2 회전하여
[4, 5, 1, 2, 3]이 되었습니다.
이번에는 반대로 -2로 회전하여
[1 ,2 ,3 ,4 ,5]가 되었습니다.
'Python' 카테고리의 다른 글
[파이썬] 분할 정복을 공부합시다. (0) | 2022.03.15 |
---|---|
[파이썬] itertools, 완전탐색을 공부합시다. (0) | 2022.03.02 |
[백준 2108] 통계학 해설 및 풀이 (파이썬) (0) | 2021.12.20 |
[파이썬] 반올림 구현하기, 반올림 사사오입 구현 (2) | 2021.12.17 |
[파이썬] Input, sys.studin.readline 입력 값 시간 줄이기 (0) | 2021.12.16 |
@임채성 :: 푸르고 개발 블로그
글 내용 중 잘못되거나 이해되지 않는 부분은 댓글을 달아주세요! 감사합니다! 문의: puleugo@gmail.com