알고리즘문제

프로그래머스 > 옹알이(2)(JS)

단점이없어지고싶은개발자 2022. 12. 2. 19:41
반응형

 

1. 해당 주어진 배열속에서 각 단어 속에서 조합해서 만들 수 있는 단어를 찾아줘야했다. 그래서 해당 단어를 splice를 통해 분리해주었다.

2. 분리된 단어가 옹알이 이면서, 이전에 연속된 옹알이가 아니라면 통과 되도록 반복문을 반복했다.

3. 그리고 해당 단어가 끝날 때까지 동일 하다면, 그 때 count를 하나씩 높여줬다.

 

function solution(babbling) {
    const babblings = ["aya", "ye", "woo", "ma"];
    let count = 0;
    
    babbling.forEach((word) => {
        babyContent(word) ? count++ : '';
    });
    
    function babyContent (word) {
        let babyWords = word.split('');
        let previousWord;
        
        while (babyWords.length) {
            let cutWord;

            if (babyWords[0] === 'a' || babyWords[0] === 'w') {
                cutWord = babyWords.splice(0, 3).join("");
            } else {
                cutWord = babyWords.splice(0, 2).join("");
            }
            
            if (!babblings.includes(cutWord) || previousWord && previousWord === cutWord) {
                return;
            }
            previousWord = cutWord;
        }
        return true
    }
    
    return count;
}

 

반응형