머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
function solution(babbling) {
var answer = 0;
const arr = ['aya','ye','woo','ma'];
const b_arr = babbling.map((v) => {
for(let i = 0; i<arr.length; i++) {
if(v.indexOf(arr[i]) !== -1) v = v.replace(arr[i],'+');
if(i == arr.length-1) return v;
}
})
answer = babbling.length - b_arr.filter(v => v.match(/[^\+]/)).length;
return answer;
}
function solution(babbling) {
var answer = 0;
const regex = /^(aya|ye|woo|ma)+$/;
babbling.forEach(word => {
if (regex.test(word)) answer++;
})
return answer;
}
+는 바로 앞 문자가 하나 이상이거나 무한대로 반복될 수 있음을 표현하며 이에 매칭되는 대상을 검색한다.
$는 바로 직전의 문자 혹은 패턴으로 문자열이 끝나는지를 검색하는 문자 클래스