Python/알고리즘

[파이썬 알고리즘 인터뷰] 24. 스택을 이용한 큐 구현

AI 꿈나무 2021. 3. 2. 16:12
반응형

 

 이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.

 

 출처 : 파이썬 알고리즘 인터뷰

 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브

 


24. 스택을 이용한 큐 구현

leetcode 232. Implement Queue using Stacks 문제입니다.

leetcode.com/problems/implement-queue-using-stacks/

 

 

풀이

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

    def push(self, x):
        self.input.append(x)

    def pop(self):
        self.peek()
        return self.output.pop()

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

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

 

 스택을 2개 이용하여 큐를 구현한 풀이입니다.

 큐는 선입선출로 데이터를 처리하는 추상자료형입니다.

 스택은 후입선출로 처리하므로 다른 스택에 역순으로 데이터를 저장한뒤에 pop을 한다면, 큐와 같이 선입선출로 데이터를 처리할 수 있습니다.

반응형