Coding Study/Programmers

[프로그래머스] lv2 뒤에 있는 큰 수 찾기 -JAVA(자바)

머준 2023. 2. 2. 23:57

[프로그래머스] 뒤에 있는 큰 수 찾기

[출처 - 프로그래머스 뒤에 있는 큰 수 찾기]

https://school.programmers.co.kr/learn/courses/30/lessons/154539

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제설명


제한 사항


입출력 예


전체 코드

import java.util.*;

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