문제

→ 각각의 기능 구현하기

push(x) : x를 스택에 삽입

pop() : 스택의 첫 요소 삭제

top() : 스택의 첫 요소 가져오기

empty() : 스택이 비어있는지 확인

접근 방법

코드 진행

아래 코드를 구상하고 구현하는데 굉장히 쉬웠는데 문제 제목에도 써있듯이 큐를 이용해서 스택의 기능만을 이용해야할것 같다. 아래 풀이 이후에 해설 풀이가 있으니 참고하자.

→ deque 생성

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

→ push 기능

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

→ pop 기능

def pop(self) -> int:
        return self.q.pop()

→ top 기능

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

→ empty 기능

def empty(self) -> bool:
        return not self.q