<--- 리트코드 225. Implement Stack using Queues --->
# 문제: 큐를 이용해 다음 연산을 지원하는 스택을 구현하라.
- push(x): 요소 x를 스택에 삽입한다.
- pop(): 스택의 첫 번째 요소를 삭제한다.
- top(): 스택의 첫 번째 요소를 가져온다.
- empty(): 스택이 비어 있는지 여부를 리턴한다.
# 풀이
1. push() 할 때 큐를 이용해 재정렬
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import collections
class my_stack:
def __init__(self):
self.q = collections.deque()
def push(self, x):
self.q.append(x)
for _ in range(len(self.q) - 1):
self.q.append(self.q.popleft())
def pop(self):
return self.q.popleft()
def top(self):
return self.q[0]
def empty(self):
return len(self.q) == 0
|
cs |
'Python' 카테고리의 다른 글
파이썬 알고리즘 인터뷰 - 25. 원형 큐 디자인 (0) | 2022.01.24 |
---|---|
파이썬 알고리즘 인터뷰 - 24. 스택을 이용한 큐 구현 (0) | 2022.01.24 |
파이썬 알고리즘 인터뷰 - 22. 일일 온도 (0) | 2022.01.23 |
파이썬 알고리즘 인터뷰 - 21. 중복 문자 제거 (0) | 2022.01.23 |
파이썬 알고리즘 인터뷰 - 20. 유효한 괄호 (0) | 2022.01.22 |