์ฝ๋
import java.util.ArrayDeque;
import java.util.Deque;
class Solution {
public int[] dailyTemperatures(int[] temperatures) {
int n = temperatures.length;
int[] ans = new int[n];
Deque<Integer> stack = new ArrayDeque<>();
for (int i = 0; i < n; i++) {
// i๋ฒ ์ธ๋ฑ์ค ๊ฐ์ด ์คํ ์ต์์ ์ธ๋ฑ์ค์ ๊ฐ๋ณด๋ค ํด๋ ์คํ ์ต์์ ๊ฐ์ ๊บผ๋ด์ i์์ ๋บ๋งํผ ์ธ๋ฑ์ค ์
๋ฐ์ดํธ.
while (!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]) {
int index = stack.pop();
ans[index] = i - index;
}
stack.push(i);
}
return ans;
}
}
Java
๋ณต์ฌ
๋ฌธ์ ํด๊ฒฐ ์์ด๋์ด
๋ฆฌ์คํธ์ ๋ค์ ์์์ ๋น๊ตํด๋ณด๋ฉฐ, ์จ๋๊ฐ ์์นํ ๊ฒฝ์ฐ ์คํ ์์๋ฅผ ์ญ์ผ๋ก ๊บผ๋ด์ ์
๋ฐ์ดํธ ํ๋ค.