[leetcode100] 739. Daily Temperatures (JS)
739. Daily Temperatures
문제
매일의 온도가 담긴 배열 T가 파라미터로 주어졌을 때, 해당일 온도보다 더 따뜻한 날을 기다리려면 얼마나 더 기다려야 하는지 (Idx의 차)를 계산하고 이를 return하는 함수 만들기
풀이
var dailyTemperatures = function(T) { let stack = [] let ans = new Array(T.length) for(let i = T.length-1; i >= 0; i--) { let top = stack[stack.length-1] while(stack.length && top.val <= T[i]) { stack.pop() top = stack[stack.length-1] } if(stack.length) { ans[i] = top.index - i } else { ans[i] = 0 } stack.push({val: T[i], index: i}) } return ans };
stack (LIFO) 자료구조를 활용해서 문제를 풀었다.
ans는 T배열의 길이로 초기화를 시킨 배열이고, 이후 반복문을 돌며 처리.
** stack 자료구조 활용하기에 매우 좋은 문제라고 생각하고,
stack에 쌓이는 과정 그려보면서 이해하고 풀이
Author And Source
이 문제에 관하여([leetcode100] 739. Daily Temperatures (JS)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@devmomo/leetcode100-739.-Daily-Temperatures-JS저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)