문제
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;
}