https://leetcode.com/problems/min-stack/
스택을 구현하는 문제. 쉽다.
class MinStack:
def __init__(self):
"""
initialize your data structure here.
"""
self.__min = float( 'inf' )
self.__stack = []
def push(self, x: int) -> None:
self.__min = min( self.__min, x )
self.__stack.insert( 0, x )
def pop(self) -> None:
stack = self.__stack
value = stack[ 0 ]
self.__stack = stack[ 1 : ]
if value == self.__min:
self.__min = float( 'inf' )
for value in self.__stack:
self.__min = min( value, self.__min )
def top(self) -> int:
return self.__stack[ 0 ]
def getMin(self) -> int:
return self.__min
# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(x)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.getMin()
'코드' 카테고리의 다른 글
django 과제 (0) | 2020.02.22 |
---|---|
Valid Parentheses (0) | 2020.02.12 |
Target Sum (0) | 2019.12.04 |
Clone Graph (0) | 2019.11.26 |
Perfect Squares (0) | 2019.11.25 |