[프로그래머스] 햄버거 만들기 (level1, JavaScript)

이민영·2023년 4월 10일

문제

https://school.programmers.co.kr/learn/courses/30/lessons/133502

나의 접근 방식

stack과 slice 메소드의 원본배열은 바꾸지 않고 새배열을 반환해주는 특징을 이용하여 풀었다.

문제 풀이

function solution(ingredient) {
    let answer = 0;
    let stack = [];
    for(let i = 0; i< ingredient.length; i++){
      //만들어둔 배열 stack에 값을 하나씩 넣어준다
        stack.push(ingredient[i]);
      	//stack 배열에 slice를 이용하여 stack에서 끝에서 원소 4개만 꺼내어 새배열을 생성해주고 
       	//그 배열을 문자열로 바꿔준 값 과 햄버거 재료 '1231'과 일치하면
         if (stack.slice(-4).join('') === '1231') {
           //'1231'이 완성됐으니 splice를 이용해 완성된 '1231'을 삭제해준다
              stack.splice(-4);
            //햄버거를 하나 만들었으니 1을 증가해준다
              answer++;
        }
    }
    return answer;
}
profile
Frontend Developer

0개의 댓글