Algorithm & Data Structures/Programers

Lv 2. 뒤에있는 큰수 찾기

Geisha 2024. 7. 2. 11:24

 

스택에 인덱스를 넣고 비교하면서 뒷큰수를 찾았을 때 stack에서 pop하며 비교하는 식으로 구현하였다.

import java.util.*;

class Solution {
    public int[] solution(int[] numbers) {
        Stack<Integer> stack = new Stack<>();
        stack.push(0);
        int[] answer = new int[numbers.length];
        for(int i = 1 ; i < numbers.length ; i++){
            while(!stack.isEmpty() && numbers[stack.peek()]<numbers[i]){
                answer[stack.pop()] = numbers[i];
            }
            stack.push(i);
        }
        while(!stack.isEmpty()){
            answer[stack.pop()]=-1;
        }
        return answer;
    }
}

 

Stack 

-push()

-pop()

-peek()