스택에 인덱스를 넣고 비교하면서 뒷큰수를 찾았을 때 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()
'Algorithm > Programers' 카테고리의 다른 글
Lv 2. 땅따먹기 (0) | 2024.07.05 |
---|---|
Lv 2. 롤케이크 자르기 (0) | 2024.07.04 |
Lv 2. 모음사전 (0) | 2024.07.01 |
Lv 2. [3차] 압축 (0) | 2024.06.30 |
Lv 2. N진수게임 (0) | 2024.06.28 |