[Python] deque 정리

Gaanii·2024년 10월 24일
0

Python

목록 보기
4/5
post-thumbnail

백준 2346 풍선 터뜨리기 문제를 풀고 생각나서 정리하는 deque.rotate()

1. collections.deque

deque(덱)은 양방향 큐라고 생각하면 이해하기 쉽다.

원래의 큐는 FIFO(First-In, First-Out)이지만 deque는 앞에서도 뒤에서도 요소를 제거할 수 있다.

from collections import deque

q = deque()

위 코드를 이용해서 deque를 사용할 수 있다.

2. deque 메소드

1. deque.append(item)

itemdeque의 오른쪽 끝에 삽입한다.

q = deque([1, 2, 3, 4, 5])

q.append(6)
>>>deque([1, 2, 3, 4, 5, 6])

2. deque.appendleft(item)

itemdeque의 왼쪽 끝에 삽입한다.

q = deque([1, 2, 3, 4, 5])

q.appendleft(6)
>>>deque([6, 1, 2, 3, 4, 5])

3. deque.pop()

deque의 오른쪽 끝 요소를 가져오고, 삭제한다.

q = deque([1, 2, 3, 4, 5])

q.pop()
>>> 5
>>>deque([1, 2, 3, 4])

4. deque.popleft()

deque의 왼쪽 끝 요소를 가져오고, 삭제한다.

q = deque([1, 2, 3, 4, 5])

q.popleft()
>>> 1
>>>deque([2, 3, 4, 5])

5. deque.remove(item)

deque에서 item을 찾아 삭제한다.

q = deque([1, 2, 3, 4, 5])

q.remove(3)
>>>deque([1, 2, 4, 5])

6. deque.rotate(num)

dequenum만큼 회전한다.
이때 num > 0라면 시계방향, num<0라면 반시계방향으로 회전한다.

q = deque([1, 2, 3, 4, 5])

q.rotate(2)
>>> deque([4, 5, 1, 2, 3])
q = deque([1, 2, 3, 4, 5])

q.rotate(-2)
>>> deque([3, 4, 5, 1, 2])

0개의 댓글