Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the ith day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.
→ 온도가 높아질때까지의 날짜 일수 구하기
var dailyTemperatures = function(temperatures) {
let answer = new Array(temperatures.length).fill(0);;
let stack = [];
for(let i=0;i<temperatures.length;i++){
while(stack.length && (stack[stack.length-1][1]<temperatures[i])){
let popItem = stack.pop();
answer[popItem[0]]=i-popItem[0];
}
stack.push([i, temperatures[i]]);
}
return answer;
};
1 <= temperatures.length <= 105
(제약조건)O(n)
으로 문제 풀어야함 → stack
이용하여 풀기let arr = new Array(배열 크기).fill(원하는 수)
push
메서드 이용pop
메서드 이용