O(1)
O(1)
collections.deque
클래스를 사용한다.append()
, pop()
하기collections.deque
클래스queue.Queue
클래스multiprocessing.Queue
클래스from collections import deque
를 선언해서 사용한다.큐.append()
- 제일 끝에 추가된다.큐.popleft()
- 가장 앞에 있는게 삭제된 배열을 반환한다.큐[0]
큐[-1]
from collections import deque
queue_name = deque([1,2,3,4,5,6])
from collections import deque
queue =deque([i for i in range(1,7) ])
#큐의 기본 값
print(queue)
# deque([1, 2, 3, 4, 5, 6])
#왼쪽에 있는 값 하나를 오른쪽으로 이동
queue.rotate(-1)
print(queue)
# deque([2, 3, 4, 5, 6, 1])
#위의 큐에서 왼쪽에 있는 두개(2,3)을 오른쪽으로 이동
queue.rotate(-2)
print(queue)
# deque([4, 5, 6, 1, 2, 3])
#위의 큐에서 왼쪽에 있는 세개(4,5,6)을 오른쪽으로 이동
queue.rotate(-3)
print(queue)
# deque([1, 2, 3, 4, 5, 6])
import sys
from collections import deque
queue =deque([i for i in range(1,7) ])
#큐의 기본 값
print(queue)
# deque([1, 2, 3, 4, 5, 6])
#오른쪽에 있는 값 하나를 왼쪽으로 이동
queue.rotate(1)
print(queue)
# deque([6, 1, 2, 3, 4, 5])
#위의 큐에서 오른쪽에 있는 두개(4,5)을 왼쪽으로 이동
queue.rotate(2)
print(queue)
# deque([4, 5, 6, 1, 2, 3])
#위의 큐에서 오른쪽에 있는 세개(1,2,3)을 왼쪽으로 이동
queue.rotate(3)
print(queue)
# deque([1, 2, 3, 4, 5, 6])
이정도를 알면 큐 기본은 뗀 것이다!
이제 백준 문제를 풀어보자.
백준 12873문제
큐를 이용해서 푸는 문제다.
단계의 세제곱 % 참가자 수
를 큐 순서에 대입해서 탈락자를 정한다.정답 코드는 여기서 확인할 수 있다.