[프로그래머스] 햄버거 만들기
2023. 1. 3. 16:42ㆍ기록/Programmers
- 목차
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/133502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 문제 풀이
function solution(ingredient) {
let answer = 0;
const stack = [];
ingredient.forEach((item) => {
stack.push(item);
if (stack.length >= 4) {
if (stack.slice(-4).join('') === '1231') {
answer++;
stack.splice(-4, 4);
}
}
});
return answer;
}
- 주어진 재료 배열의 요소들을 하나씩 꺼냄
- 스택 배열에 현재 요소를 push 함
- 스택 배열의 길이가 4보다 같거나 클 경우 (햄버거의 길이)
- 스택 배열의 뒤에서 4번째부터 마지막까지 자른 후 문자열로 이어붙임
- 해당 값이 '1231' 과 같을 경우
- 정답 변수에 1을 더해줌
- 스택 배열의 뒤에서 4번째부터 마지막까지의 요소 삭제
다른 사람의 문제 풀이
function solution(ingredient) {
let count = 0;
for (let i = 0; i < ingredient.length; i++) {
if (ingredient.slice(i, i + 4).join('') === '1231') {
count++;
ingredient.splice(i, 4);
i -= 3;
}
}
return count;
}