프로그래머스 Lv.0 의 옹알이 문제이다 .
function solution(babbling) {
var answer = 0;
const wordList = ["aya", "ye", "woo", "ma"]
const returnData = babbling.filter((value) => {
let result = value
wordList.forEach((i) => {
if (value.includes(i)) result = result.replace(i, '')
})
return !result
})
return returnData.length;
}
나의 코드이다.
bubbling 배열의 값 하나하나를 순회하며 필터링하는 방법으로 해보았다.
bubbling의 값을 옹알이들이 includes를 하고 있다면 filter를 이용해 '' 로 replace하는 원리로
모든 단어들이 쓰일경우 !result 를 반환하고 length를 구하였다.
예를들어 bubbling = ["aya", "yee", "u", "maa", "wyeoo"]
가 들어온다.
처음 bubbling 의 값은 'aya' 이고 옹알이 리스트에도 'aya'가 있으니
value: aya
i: aya // aya 는 옹알이 리스트에 있으
result: //앞에서 다 필터링 돼서 남은 값이 없음
i: ye
result:
i: woo
result:
i: ma
result:
true
value: yee
i: aya //yee가 없으니 aya 는 패스
result: yee
i: ye
result: e //옹알이 ye와 일치하여 e만 남음
i: woo
result: e
i: ma
result: e
false //e 가 남았으니 false
이런식으로 true 값을 갖는 returnData 값을 저장하고 length 를 구하도록 해주었다 !