JS) 프로그래머스 Lv.0 옹알이

숩딩·2023년 2월 23일
0

coding-test

목록 보기
1/1

프로그래머스 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 를 구하도록 해주었다 !

profile
Front-End Developer ✨

0개의 댓글