문제 출처 : leetcode.com/problems/implement-stack-using-queues/
문제 해석 : 큐를 이용해서 스택을 구현하는 문제이다.
문제 풀이 : 큐는 삽입은 뒤에서 삭제는 앞에서 하기 때문에 여기서 신경쓸 것은 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 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] LeetCode 622 Design Circular Queue 문제 풀이 (0) | 2021.02.25 |
---|---|
[알고리즘][Python] LeetCode 232 Implement Queue Using Stacks 문제 풀이 (0) | 2021.02.25 |
[알고리즘][Python] 백준 17940 지하철 문제 풀이 (0) | 2021.02.24 |
[알고리즘][Python] LeetCode 20 Valid Parentheses 문제 풀이 (0) | 2021.02.23 |
[알고리즘][Python] LeetCode 92 Reverse Linked List 2 문제 풀이 (0) | 2021.02.22 |