function solution(order) {
let result = 0; // 순서에 맞게 배달한 상자의 수를 저장하는 변수
const stack = []; // 보조 컨테이너 벨트를 위한 스택
// 1부터 order.length까지의 숫자를 순서대로 처리
for (let i = 1; i <= order.length; i++) {
stack.push(i); // 현재 숫자를 스택에 추가
// 스택의 마지막 원소가 order[result]와 일치하는 동안 반복
while (stack.length !== 0 && stack.at(-1) === order[result]) {
stack.pop(); // 스택의 마지막 원소를 제거
result++; // 배달한 상자의 수를 증가
}
}
return result;
}