프로그래머스/Lv.1
프로그래머스 JS [햄버거 만들기]
sakuraop
2023. 2. 2. 17:09
햄버거 만들기 문제 보기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 요약
- 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고
- 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장
- 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장
풀이 과정
재료를 순서대로 놓는다.
빵-야채-고기-빵 순서로 쌓여있다면 재료들을 가지고 햄버거를 쌓는다.
1) 재료를 놓을 조리대, 완성한 햄버거 숫자 카운터 준비
function solution(ingredient) {
const ingredientStack = [];
let burgerCount = 0;
2) 재료를 조리대에 순서대로 놓는다.
ingredient.forEach((element) => {
ingredientStack.push(element);
3) 빵-야채-고기-빵 순서로 놓여있다면 재료들을 가지고 햄버거를 쌓는다.
while (JSON.stringify(ingredientStack.slice(-4)) === JSON.stringify([1, 2, 3, 1])) {
ingredientStack.splice(-4);
burgerCount++;
}
});
4) 만들어진 버거 횟수 반환
return burgerCount;
}
function solution(ingredient) {
const ingredientStack = [];
let burgerCount = 0;
ingredient.forEach((element) => {
ingredientStack.push(element);
while (JSON.stringify(ingredientStack.slice(-4)) === JSON.stringify([1, 2, 3, 1])) {
ingredientStack.splice(-4);
burgerCount++;
}
});
return burgerCount;
}