최대 1 분 소요

큐는 대기줄에 비유할 수 있다. 줄을 설 때 먼저 온 사람이 먼저 들어가게 되고, 나중에 온 사람은 그만큼 나중에 들어가게 된다. 이를 선입선출, FIFO 구조라고 한다.

파이썬

파이썬에서 큐를 구현할 때에는 collections 모듈에서 제공하는 deque 자료구조를 활용한다.

deque스택의 장점을 모두 채택한 것으로, 데이터를 넣고 빼는 속도가 list 자료형에 비해 효율적이며, queue라이브러리를 이용하는 것보다 더 간단한다.

또한 deque객체를 list자료형으로 변경하고 싶다면 list()메서드를 이용하면 된다.

from collections import deque

queue = deque()

queue.append(5)
stack.append(2)
stack.append(3)
stack.append(7)
queue.popleft() # 맨 앞 원소 추출 (맨 왼쪽)
stack.append(1)
stack.append(4)
queue.popleft() # 맨 앞 원소 추출 (맨 왼쪽)

print(queue)    # 먼저 들어온 순서대로 출력 (앞번부터 출력)
queue.reverse() # 역순으로 바꾸기
prinr(queue)    # 나중에 들어온 순서대로 출력 (뒷번부터 출력)

# [3, 7, 1, 4]
# [4, 1, 7, 3]

References

이것이 코딩 테스트다 with 파이썬

댓글남기기