풀이
function solution(babbling) { var answer = 0; let result; result = babbling.reduce((acc, cur) => { cur = cur.replace(/ayaaya|yeye|woowoo|mama/g, "A"); cur = cur.replace(/aya|ye|woo|ma/g, ""); console.log(cur); if (cur == "") answer++; }, 0); return answer; }
babling 의 요소 하나하나에 대하여 같은 발음이 두 번이상 반복되는 발음을 미리 다른 문자 A로 치환한다.
result = babbling.reduce((acc, cur) => { cur = cur.replace(/ayaaya|yeye|woowoo|mama/g, "A");
남은 요소들 중 아이가 발음 가능한 것들을 공백으로 지운다.
cur = cur.replace(/aya|ye|woo|ma/g, "");
만약 중복되어서 A로 교체된 문자가 없고, 발음 가능한 것들을 공백으로 지우고 나서 남은 문자가 없다면 -> 즉 아이가 발음할 수 있는 단어라면. 공백이어야한다.
if(cur=="")answer ++;