[Python] FIFO 큐와 데크(Deque)

    [Python] FIFO 큐와 데크(Deque)

    Introduction 프로그램을 작성하다 보면 선입선출 (First-In First-Out, FIFO) 구조를 위해 큐 (Queue) 자료구조를 활용하면 좋을 때가 있다. FIFO 구조란 더 먼저 추가된 데이터를 먼저 사용하도록 하는, 말 그대로 순차적인 대기열을 떠올리면 이해가 편하다. 파이썬에서는 종종 이런 큐 자료구조를 이용해야 할 때, 기본적인 list 자료형에다 append와 pop(0) 메서드를 붙여서 간편하게 큐 자료구조를 흉내내 쓰곤 한다. List Implementation 예를 들어, 아래와 같이 먼저 빈 리스트 오브젝트를 하나 생성한 후 append를 호출해 리스트 맨 뒤에 새로운 원소를 추가할 수 있으며, 반대로 pop(0)을 호출해 리스트 맨 앞의 원소를 제거하고, 그 값을 반환..