반응형
☕️
스택을 사용해서 문제를 풀었다.
원래는 ingredient.join("")을 하고 해당 문자열에 "1231"이 포함되어 있는 경우를 조건으로 while문을 돌리는 코드를 짰는데 타임 아웃 에러가 나서 아래와 같이 스택을 사용해서 다시 풀어보았다.
function solution(ingredient) {
let answer = 0;
let stack = []; // 스택 사용
for(let item of ingredient){
stack.push(item); // 재료를 하나씩 스택에 넣는다.
if(stack.length >= 4
&& stack.at(-1) === 1
&& stack.at(-2) === 3
&& stack.at(-3) === 2
&& stack.at(-4) === 1) { // 1231 순서로 쌓인 재료가 있는지 판별한다
stack.splice(stack.length - 4, 4); // 버거가 완성이 되면 해당 재료는 배열에서 삭제한다
answer++; // 버거 개수를 늘린다
}
}
return answer;
}
반응형
'자료구조 & 알고리즘' 카테고리의 다른 글
프로그래머스 체육복 (greedy) - 자바스크립트 풀이 (0) | 2024.10.30 |
---|---|
프로그래머스 키패드 누르기 - 자바스크립트 풀이 (0) | 2024.10.20 |
맨해튼 거리 Manhattan distance (0) | 2024.10.20 |
프로그래머스 - <[PCCP 기출문제] 1번 / 동영상 재생기> 자바스크립트 문제 풀이 (0) | 2024.10.01 |
[코딩테스트] 프로그래머스 - 롤케이크 자르기 ( 자바스크립트 풀이 ) (1) | 2024.02.03 |