문제
→ 각각의 기능 구현하기
→ 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