문제

→ 스택의 기능만을 이용해서 큐의 기능을 구현하는 것이 핵심

push(x) : 요소 x를 큐 마지막에 삽입한다..

pop() : 큐 처음에 있는 요소를 제거한다.

peek() : 큐 처음에 있는 요소를 조회한다.

empty() : 큐가 비어있는지 여부를 리턴한다.

접근 방법

→ 스택을 2개 이용한다 ( 스택의 기능만으로 큐를 구현하기 위함 )

<aside> 💡 핵심은 스택2개를 이용해 거꾸로 옮기는 것!

</aside>

어려웠던 점

→ 큐의 기능인 pop은 처음에 있는 요소를 제거하기 때문에 스택을 두개를 써야하는것을 알기까지 상당히 오래걸렸다.

코드 구현

→ 스택을 2개 구현해준다. ( 파이썬의 리스트로 대체 )

class MyQueue:
    def __init__(self):
        self.stack1 = []
        self.stack2 = []

→ push 기능