function solution(numbers) {
const result = Array(numbers.length).fill(-1);
const stack = [];
for (let i = numbers.length - 1; i >= 0; --i) {
while (stack.length && stack.at(-1) <= numbers[i]) stack.pop();
if (stack.length) result[i] = stack.at(-1);
stack.push(numbers[i]);
}
return result;
}
혼자는 절대 못 풀었을 문제
'가장 가까운 수'라는 말에서 스택을 사용해야 한다는 힌트를 얻을 수 있다고 한다.