Stack
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int[] answer = new int[numbers.length];
Stack<Integer> stack = new Stack<>();
for(int i=0; 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;
}
}
O(log(n))
의 시간 복잡도의 풀이를 작성하는 것을 목표로 했습니다.10분
시간 복잡도 최적화 상황에서 순회 혹은 그 뒤의 원소를 비교하는 특징이 있다면, 스택을 고려해 볼 것!