📊알고리즘, 문제풀이/📈문제풀이 (PS)

[알고리즘][Python] LeetCode 225 Implement Stack Using Queues 문제 풀이

Written by Donghak Park

문제 출처 : leetcode.com/problems/implement-stack-using-queues/

 

Implement Stack using Queues - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


문제 해석 : 큐를 이용해서 스택을 구현하는 문제이다. 

 

문제 풀이 : 큐는 삽입은 뒤에서 삭제는 앞에서 하기 때문에 여기서 신경쓸 것은 Pop 연산이다. 스택은 삭제 또한 뒤에서 하기 때문에 삭제 대상 직전까지 다른 배열에 임시로 저장하고 원하는 값을 제거한 다음 다시 배열을 교체해 주면 된다.


풀이 코드

class MyStack:
    def __init__(self):
        self.stack = []

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

    def pop(self) -> int:
        temp = []
        while len(self.stack) > 1:
            temp.append(self.stack.pop(0))
        ret = self.stack.pop(0)
        self.stack = temp
        return ret

    def top(self) -> int:
        return self.stack[-1]

    def empty(self) -> bool:
        if len(self.stack) == 0:
            return True
        else:
            return False

author : donghak park
contact : donghark03@naver.com

## 문제의 저작권은 LeetCode 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.