📚 단일 패턴
155. Min Stack
각 요소와 함께 현재 최소값을 저장하여 O(1) 시간에 최소값을 반환하는 스택 구현하기
Oct 1, 2025 — stack
- Stack 인데,
getMin()
method 로O(1)
시간에 최소값을 return 해야 함. - 약간 tricky 하긴 한데, push 를 할때 최소값을 계산해서 값과 함께
[val, min]
으로 저장
class MinStack { private stack : number[][]
constructor() { this.stack = []; }
push(val: number): void { if (this.stack.length === 0) { this.stack.push( [ val, val ]) } else { const min = Math.min( val, this.stack.at(-1)[1] ); this.stack.push([ val, min ]); } }
pop(): void { this.stack.pop(); }
top(): number { return this.stack.at(-1)[0]; }
getMin(): number { return this.stack.at(-1)[1]; }}
/** * Your MinStack object will be instantiated and called as such: * var obj = new MinStack() * obj.push(val) * obj.pop() * var param_3 = obj.top() * var param_4 = obj.getMin() */