[Python] 큐(Queue) 구현하기

orangesnail·2025년 3월 8일

Python

목록 보기
19/21

큐의 특징

  1. FIFO(First-In-First-Out), 먼저 들어온 데이터가 먼저 나간다 - 쉽게 기억하려면 콘서트 티켓 예매 줄을 생각하면 된다. 먼저 서있는 사람이 먼저 티켓을 받아서 나가는 방식이 FIFO 방식이다.
  2. 큐에 요소를 추가하는 것은 enqueue, 큐에서 요소를 제거하는 것은 dequeue라고 한다.

collections.deque를 사용해 큐 구현하기

from collections import deque

class Queue:
    def __init__(self):
        self.queue = deque()

    def enqueue(self, item):
        self.queue.append(item)

    def dequeue(self):
        if not self.is_empty():
            return self.queue.popleft()
        return None
        
    def peek(self):
        if not self.is_empty():
            return self.queue[0]
        return None

    def is_empty(self):
        return len(self.queue) == 0

    def show(self):
        print(list(self.queue))

q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
q.show()  

print(q.dequeue())  
q.show()  

print(q.peek())  
print(q.is_empty()) 

q.dequeue()
q.dequeue()
print(q.is_empty()) 

실행 결과

profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글