Python/라이브러리
파이썬(python) 라이브러리 - collections.deque
snowman95
2021. 4. 22. 21:28
728x90
반응형
collections.deque
파이썬에서 queue를 이용할때 사용한다.
list를 이용하면 add 연산에 O(n) 만큼의 시간이 들기 때문에 deque를 사용해야함.
데이터가 오른쪽으로 추가되고 왼쪽으로 나가는 형태
q = collections.deque()
q.append() # 오른쪽으로 더하기
q.popleft() # 왼쪽으로 값 빼기
q.appendleft() # 왼쪽으로 추가
q.pop() # 오른쪽으로 빼기
q.extend() # 오른쪽으로 값 추가 (각요소를 잘라서 넣어줌)
deque(['a','b','c']).extend('defg')
→ ['a','b','c','d','e','f','g']
append로 넣으면 'defg'로 들어가짐
q.rotate(n)
n만큼 요소들을 회전시켜준다.
n<0 : 왼쪽
n>0 : 오른쪽
덱/큐 활용하는 문제
1. 맨 위의 요소를 맨 뒤로 이동시킨다. → deque() 사용
2. 리스트에서 요소를 왼쪽으로 k번, 오른쪽으로 k번 이동시킨다. → deque().rotate() 사용
1021번: 회전하는 큐
첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가
www.acmicpc.net
5430번: AC
각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다.
www.acmicpc.net
반응형