큐의 개념
- 입력과 출력을 다른 방향으로 함
- FIFO(First In First Out)방식
- 극장 매표소 앞에서 줄을 서는 것과 비슷
1. Put: 매표소 앞에 줄을 섬
2. Get: 줄을 선 순서대로 앞에서부터 표 구매

배열을 사용한 큐의 구현
def put(item):
queue.append(item)
def get():
return queue.pop(0)
if __name__ =="__main__":
queue = []
put(1)
put(2)
put(3)
put(4)
print("현재 queue의 모습")
print(queue)
while queue:
print(f"get > {get()}")
1. 시간의 효율성
- 배열로 구성되어 있지만, 시간적인 효율성 측면에서 배열로 하든 연결 리스트로 하든 상관없음
- 스택과 큐 모두 검색과정이 필요 없기 때문
2. 공간의 효율성
- 미리 정해놓은 배열의 크기만큼 한정적
- 큐의 경우 원형 큐(Circular Queue)형태로 사용
- 원형 큐라는 것은 뱀의 고리를 물고 있는 모양처럼 큐가 원형으로 되어있음
- 따라서 배열의 전체 크기와는 상관없이 빙빙 돌면서 사용이 가능
3. 코드의 효율성
- 원형 큐로 하는 경우에도 인덱스의 연산만으로 쉽게 구현 가능