Python
파이썬 알고리즘 인터뷰 - 23. 큐를 이용한 스택 구현
s코딩초보s
2022. 1. 24. 21:10
<--- 리트코드 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 |