[Python으로 푸는 Leetcode]155. Min Stack

느린 개발자·2021년 1월 2일
0

Coding Test

목록 보기
17/21

📌Problem

Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.

  • push(x) -- Push element x onto stack.
  • pop() -- Removes the element on top of the stack.
  • top() -- Get the top element.
  • getMin() -- Retrieve the minimum element in the stack.

Example 1:

Input
["MinStack","push","push","push","getMin","pop","top","getMin"]
[[],[-2],[0],[-3],[],[],[],[]]

Output
[null,null,null,null,-3,null,0,-2]

Explanation
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); // return -3
minStack.pop();
minStack.top();    // return 0
minStack.getMin(); // return -2

Constraints:

  • Methods pop, top and getMin operations will always be called on non-empty stacks.

leetcode 에서 풀기


📝Solution

class MinStack:

    def __init__(self):
        """
        initialize your data structure here.
        """
        self.__stack=[]
        

    def push(self, x: int) -> None:
        if self.__stack:
            self.__stack.append((x,min(x,self.__stack[-1][1])))  # (x,minimum)
        else:
            self.__stack.append((x,x))
        
        
                    
    def pop(self) -> None:
        if self.__stack:
            self.__stack.pop()
        

    def top(self) -> int:
        if self.__stack:
            return self.__stack[-1][0]
        

    def getMin(self) -> int:
        return self.__stack[-1][1]
            
        


# 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()
profile
남들보단 느리지만, 끝을 향해

12개의 댓글

comment-user-thumbnail
2024년 11월 26일

Cultivate the nice give good results, I just read through a small number of items on that blog not to mention In my opinion that this web site blog page might be proper significant as well as gained circles from awesome advice. Pinny

답글 달기
comment-user-thumbnail
2024년 12월 10일

オンカジでは、ルーレットやブラックジャックなど本格的なカジノゲームが自宅で気軽に楽しめます。初心者でも十分に楽しめるシンプルさが良いですね。 オンカジ

답글 달기
comment-user-thumbnail
2024년 12월 22일

Many thanks for that publish as well as excellent ideas.. actually We additionally believe that effort is actually the most crucial ingredient of obtaining achievement. 카지노사이트 도메인

답글 달기
comment-user-thumbnail
2024년 12월 24일

I’ve been surfing online more than 5 hours today, yet I never found any interesting article like yours without a doubt. It’s pretty worth enough for me. Thanks... olxtoto

답글 달기
comment-user-thumbnail
2024년 12월 25일

Di Slot Demo, Anda bisa mencoba berbagai permainan slot seru dengan kesempatan besar memenangkan jackpot. Platform ini menawarkan pengalaman tanpa risiko dan menjamin kenyamanan bermain dengan antarmuka yang mudah digunakan. demo slot

답글 달기
comment-user-thumbnail
2024년 12월 29일

I can’t believe focusing long enough to research; much less write this kind of article. You’ve outdone yourself with this material without a doubt. It is one of the greatest contents. 76 unblocked games

답글 달기
comment-user-thumbnail
2024년 12월 29일

Regards just for featuring brand-new upgrades in connection with priority, Document wait for look at a great deal more. customize womens panties

답글 달기
comment-user-thumbnail
2024년 12월 30일

My spouse and i shocked while using investigation anyone created to choose this certain release outstanding. Amazing task! biurko młodzieżowe

답글 달기
comment-user-thumbnail
2024년 12월 31일

We have not too long ago started out any website, the knowledge an individual offer on this web site provides aided myself tremendously. Thank you regarding your entire moment & perform. alexistogel

답글 달기
comment-user-thumbnail
2025년 1월 4일

Please let me know if you’re looking for a article writer for your site. You have some really great posts and I feel I would be a good asset. If you ever want to take some of the load off, I’d absolutely love to write some material for your blog in exchange for a link back to mine. Please send me an email if interested. Thank you! fototapeta dla chłopca

답글 달기
comment-user-thumbnail
2025년 1월 12일

I admire what you have done here. I like the part where you say you are doing this to give back but I would assume by all the comments that this is working for you as well.

답글 달기
comment-user-thumbnail
2025년 1월 12일

I admire what you have done here. I like the part where you say you are doing this to give back but I would assume by all the comments that this is working for you as well. hagia sophia

답글 달기