반응형
이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.
출처 : 파이썬 알고리즘 인터뷰
코드 출처 : 파이썬 알고리즘 인터뷰 깃허브
24. 스택을 이용한 큐 구현
leetcode 232. Implement Queue using Stacks 문제입니다.
leetcode.com/problems/implement-queue-using-stacks/
풀이
class MyQueue:
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):
# output이 없으면 모두 재입력
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 == []
스택을 2개 이용하여 큐를 구현한 풀이입니다.
큐는 선입선출로 데이터를 처리하는 추상자료형입니다.
스택은 후입선출로 처리하므로 다른 스택에 역순으로 데이터를 저장한뒤에 pop을 한다면, 큐와 같이 선입선출로 데이터를 처리할 수 있습니다.
반응형
'Python > 알고리즘' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰] 26. 원형 데크 디자인 (3) | 2021.03.03 |
---|---|
[파이썬 알고리즘 인터뷰] 25. 원형 큐 디자인 (1) | 2021.03.02 |
[파이썬 알고리즘 인터뷰] 23. 큐를 이용한 스택 구현 (4) | 2021.03.02 |
[파이썬 알고리즘 인터뷰] 22. 일일 온도 (0) | 2021.02.24 |
[파이썬 알고리즘 인터뷰] 21. 중복 문자 제거 (0) | 2021.02.22 |