[programmers][X] 뒤에 있는 큰 수 찾기
in Algorithm on Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/154539
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int len = numbers.length;
int[] answer = new int[len];
Arrays.fill(answer, -1);
Stack<Integer> st = new Stack<>();
for(int i = 0 ; i < len ; i++){
int stlen = st.size();
for(int j = 0 ; j < stlen ; j++){
int temp = st.pop();
if(numbers[i] > numbers[temp]){
answer[temp] = numbers[i];
}else{
st.push(temp);
break; // 쌓아둔 stack 데이터의 구조상 가장 앞에 있는 숫자가 가장 작은수임. 그것보다도 현재의 값이 작거나 같으면 뒷쪽 비교는 의미가 없다.
}
}
st.push(i);
}
return answer;
}
}