<--- 232. Implement Queue using Stacks --->
# 문제: 스택을 이용해 다음 연산을 지원하는 큐를 구현하라.
- push(x): 요소 x를 큐 마지막에 삽입한다.
- pop(): 큐 처음에 있는 요소를 제거한다.
- peek(): 큐 처음에 있는 요소를 조회한다.
- empty(): 큐가 비어 있는지 여부를 리턴한다.
# 풀이
1. 스택 2개 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
class my_queue:
def __init__(self):
self.input = []
self.output = []
def push(self, x):
self.input.append(x)
def pop(self):
self.peek()
return self.output.pop()
def peek(self):
if not self.output:
while self.input:
self.output.append(self.input.pop())
return self.output[-1]
def empty(self):
return self.input == [] and self.output == []
|
cs |
'Python' 카테고리의 다른 글
파이썬 알고리즘 인터뷰 - 26. 원형 데크 디자인 (0) | 2022.01.24 |
---|---|
파이썬 알고리즘 인터뷰 - 25. 원형 큐 디자인 (0) | 2022.01.24 |
파이썬 알고리즘 인터뷰 - 23. 큐를 이용한 스택 구현 (0) | 2022.01.24 |
파이썬 알고리즘 인터뷰 - 22. 일일 온도 (0) | 2022.01.23 |
파이썬 알고리즘 인터뷰 - 21. 중복 문자 제거 (0) | 2022.01.23 |