Programmers_level2_탑

https://programmers.co.kr/learn/courses/30/lessons/42588

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;
    }
}

© 2019. All rights reserved.

Powered by Hydejack v8.5.2