Programmers_level2_탑
in Sidemenu / Programmers
level2_탑
import java.util.Arrays;
import java.util.Stack;
class Solution {
public int[] solution(int[] heights) {
int len = heights.length;
int[] answer = new int[len];
Stack<int[]> stack = new Stack<>();
for (int i = 0; i < len; i++) {
while (!stack.isEmpty()) {
if (heights[i] >= stack.peek()[1]) {
stack.pop();
} else {
break;
}
}
if (!stack.isEmpty()) {
answer[i] = stack.peek()[0] + 1;
} else {
answer[i] = 0;
}
stack.push(new int[] { i, heights[i] });
}
return answer;
}
}