자료구조와 알고리즘/🥑알고리즘

[알고리즘][스택 & 큐] - 5. 스택을 이용한 큐 구현

얄루몬 2022. 3. 2. 17:21

 

📖이 포스팅은 '파이썬 알고리즘 인터뷰 - 박상길님' 책을 보고 작성되었습니다.


😎문제 : https://leetcode.com/problems/implement-queue-using-stacks/submissions/

스택을 이용해 다음 연산을 지원하는 큐를 구현하라


[스택을 이용한 큐 구현]

class MyQueue:

    def __init__(self):
        self.input = []
        self.output = []

    def push(self, x: int) -> None:
        self.input.append(x)

    def pop(self) -> int:
        self.peek()
        return self.output.pop()

    def peek(self) -> int:
        #output이 없다면 모두 재입력
        if not self.output:
            while self.input:
                self.output.append(self.input.pop())
        return self.output[-1]

    def empty(self) -> bool:
        return self.input == [] and self.output == []