문제 난이도 : Easy
문제 유형 : Data Structures - Stack
문제 설명 간략 :
온도가 담긴 integer 배열이 주어지고 따뜻해지는 날의 갯수를 반환하라.
제약사항
- 1 <= temperatures.length <= 105
- 30 <= temperatures[i] <= 100
자바 풀이
class Solution {
public int[] dailyTemperatures(int[] temperatures) {
int [] days = new int[temperatures.length];
Stack<Integer> stack = new Stack<>();
for(int i = 0; i < temperatures.length; i++) {
while(!stack.empty() && temperatures[stack.peek()] < temperatures[i]) {
int idx = stack.pop();
days[idx] = i - idx;
}
stack.push(i);
}
return days;
}
}
출처