[프로그래머스] Lv2. 택배 상자 - JavaScript

이상돈·2023년 3월 21일
0
post-thumbnail

문제분류 : 코팅테스트 연습

난이도 : Level 2

출처 : 프로그래머스 - 택배상자

문제

제한사항

📌 내가 생각한 풀이

stack을 보조컨테이너라고 생각하과,무조건 택배를 모두 스택에 넣는다. 스택에 마지막 상자가 순서에 맞으면 pop하여 answer++해주고, 맞지 않으면 종료한다.
function solution(order) {
    var answer = 0;
    var stack = [];
    for(var i=1; i<=order.length; i++){
        stack.push(i);
        while(stack.length > 0 && stack.at(-1) === order[answer]){
            stack.pop();
            answer++;
        }
    }
    return answer
}

📌 느낀점

for문안에 있는 while문이 저번에도 사용했던 코드지만, 다시한번 기억나게 해주었다. while문을 돌면서 순서에 맞는 상자일 경우를 모두 잡아주기 때문에 if문을 사용하는 것 보다 훨씬 효과적으로 추출해낼 수 있다.

profile
사람들의 더 나은 삶을 위한 개발자

0개의 댓글