My First Programming

프로그래머스 택배 상자 javascript

2022-11-043 분 소요
/images/thumbnail/프로그래머스.jpg

🖇️프로그래머스

풀이

order는 1이상 order의 길이 이하의 모든 정수가 한번씩 등장합니다. 라는 지문이 있으므로,

order 배열의 길이가 5라면, 1 2 3 4 5 만큼 for문으로 반복하면 된다.

매번 보조 컨테이너 벨트에 넣어두고,

while을 사용하여 보조 컨테이너 벨트 order순서를 확인하여, 순서에 맞는다면 pop을 한다.

order의 진행사항을 나타내는 idx 변수를 사용하여 결과값으로 반환한다.

코드

function solution(order) {
  let idx = 0;
  const stack = [];
  for (let i = 1; i <= order.length; i++) {
    stack.push(i);
    while (stack.length > 0 && stack[stack.length - 1] === order[idx]) {
      stack.pop();
      idx++;
    }
  }
  return idx;
}
Remy Sharp

JSC

새로운 기술 익히는게 재밌는 사람 😊