[프로그래머스] 햄버거 만들기 / JavaScript / Level 1

KimYoungWoong·2023년 2월 27일
0

Programmers

목록 보기
52/60
post-thumbnail

🚩문제 주소


📄 풀이

스택

  1. stack 변수를 선언 후 빈 배열을 할당해줍니다.
  2. 주어진 ingredient 배열을 순회하면서 stack에 한 개씩 넣어줍니다.
  3. 순회 도중에 stack의 길이가 4 이상이 된다면 조건을 검사합니다.
    • 조건: stack의 -4, -3, -2, -1 인덱스가 각각 1, 2, 3, 1 이라면 true, 아니면 false
    • 이 조건을 통과하면 햄버거를 만들 수 있는 것이므로 answer를 1 늘려주고 stack에서 4개를 차레로 pop해줍니다.
  4. 정답을 리턴합니다.


👨‍💻 코드

const check = (arr) => {
  return (
    arr.at(-4) === 1 && arr.at(-3) === 2 && 
    arr.at(-2) === 3 && arr.at(-1) === 1
  );
};

function solution(ingredient) {
  let answer = 0;
  let stack = [];

  for (let i = 0; i < ingredient.length; i++) {
    stack.push(ingredient[i]);
    if (stack.length >= 4) {
      if (check(stack)) {
        answer++;
        stack.pop();
        stack.pop();
        stack.pop();
        stack.pop();
      }
    }
  }
  return answer;
}

profile
블로그 이전했습니다!! https://highero.tistory.com

0개의 댓글