< 문제 간단설명 >
stack의 메소드들을 구현하는데 추가로 getMin()을 구현한다. getMin()은 스택의 값중에서 가장 작은값을 반환한다. 그 외 기본 메소드는 push, pop, top을 구현한다.
var MinStack = function() {
this.stack = [];
this.minStack = [];
};
/**
* @param {number} val
* @return {void}
*/
MinStack.prototype.push = function(val) {
this.stack.push(val);
if(this.minStack.length === 0) {
this.minStack.push(val);
}
else {
if(val < this.minStack.at(-1)) {
this.minStack.push(val);
}
else {
this.minStack.push(this.minStack.at(-1));
}
}
};
/**
* @return {void}
*/
MinStack.prototype.pop = function() {
this.stack.pop();
this.minStack.pop();
};
/**
* @return {number}
*/
MinStack.prototype.top = function() {
return this.stack.at(-1);
};
/**
* @return {number}
*/
MinStack.prototype.getMin = function() {
return this.minStack.at(-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()
*/
'PS > LeetCode' 카테고리의 다른 글
LeetCode / Matrix / 2352번 / Equal Row and Column Pairs / JS (0) | 2023.06.17 |
---|---|
LeetCode / Array / 228번 / Summary Ranges / JS (0) | 2023.06.17 |
LeetCode / Design / 232번 / Implement Queue using Stacks / JS (0) | 2023.05.14 |
LeetCode / Tree / 199번 / Binary Tree Right Side View / JS (0) | 2023.05.14 |