[LeetCode] 739. Daily Temperatures (javascript)

728x90
반응형

현재 위치의 인덱스를 stack(배열)에 집어넣는다. 

만약 현재의 온도가 stack에 들어있는 온도(혹은 온도들)보다 높다면 그만큼 빼서 위치의 차만큼 정답 배열을 갱신한다.

 

/**
 * @param {number[]} T
 * @return {number[]}
 */
var dailyTemperatures = function(T) {
    const answer=Array(T.length).fill(0);
    const stack=[];
    for(let i=0;i<T.length;i++){
        while(stack && T[stack[stack.length-1]]<T[i]){
            // console.log(stack[stack.length-1])
            answer[stack[stack.length-1]]=i-stack[stack.length-1];
            stack.pop();
        }
        stack.push(i);
    }
    return answer;
};
728x90
반응형
TAGS.

Comments