[LeetCode 232. Implement Queue using Stacks] [python] 3. 스택을 이용하여 큐를 구현하기
Algorithm/LeetCode 문제 풀이 2019. 3. 30. 22:40문제 : https://leetcode.com/problems/implement-queue-using-stacks/
스택은 나중에 들어간 것이 먼저 나오고,
큐는 먼저 들어간 것이 먼저 나온다.
큐와 스택을 헷깔려서, 마지막에 넣은걸 먼저 꺼냈다가 시간이 좀 걸렸다.
파이썬의 리스트를 활용해서 아래와 같이 구현해 보았다.
class MyQueue(object):
def __init__(self):
self.data = []
self.size = 0
"""
Initialize your data structure here.
"""
def push(self, x):
self.data.append(x)
self.size += 1
#print self.data
"""
Push element x to the back of queue.
:type x: int
:rtype: None
"""
def pop(self):
if(self.size > 0):
self.size -= 1
pop_data = self.data[0]
self.data.remove(pop_data)
return pop_data
return 0
"""
Removes the element from in front of queue and returns that element.
:rtype: int
"""
def peek(self):
if(self.size > 0):
#print self.data[0]
return self.data[0]
else:
return 0
"""
Get the front element.
:rtype: int
"""
def empty(self):
if self.size == 0:
return 1
else:
return 0
"""
Returns whether the queue is empty.
:rtype: bool
"""
# Your MyQueue object will be instantiated and called as such:
# obj = MyQueue()
# obj.push(x)
# param_2 = obj.pop()
# param_3 = obj.peek()
# param_4 = obj.empty()
'Algorithm > LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode 485] python - 예외 처리에 주의하기.. (0) | 2019.04.02 |
---|---|
[LeetCode 283] python 리스트(큐/스택) 이용하기 (0) | 2019.04.02 |
[LeetCode 232, 283, 290 - 완료, 485, 492] python (0) | 2019.03.31 |
[LeetCode 542. 01 Matrix] [python] 4. 재귀 함수 (0) | 2019.03.31 |
[LeetCode 200 Number of Islands] [python] 2. 파이썬 문법에 익숙해지고 있다. (0) | 2019.03.30 |