Small Grey Outline Pointer 프로그래머스 Javascript Lv.0 옹알이(1)
본문 바로가기
Dev./Algorithm Prac

프로그래머스 Javascript Lv.0 옹알이(1)

by sso. 2023. 4. 2.

머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.

 

 

 

var babbling = ['aya','yee','u','maa','wyeoo'];
babbling.forEach((word)=>{
    if(word.includes('aya')){
        console.log('yes!!!!');
        console.log(word.includes('aya'));
    }
});

//yes!!!!
//true


var babbling = ['aya','yee','u','maa','wyeoo'];
babbling.forEach((word)=>{
    if(word.includes('ma')){
        console.log('yes!!!!');
        console.log(word.includes('ma'));
    }
});
// yes!!!!
// true

 

배열안에 있는 문자열을 어떻게 구분하고 리턴할 것인가...

 

<문제 어떻게 풀어나갈지 생각하기>

- 배열의 길이만큼 반복문을 돌리고

- 문자열에 특정요소를 포함하고 있는지(발음할 수 있는 단어) 체크 includes / filter 등등 

- 정규식으로 단어 필터링 

 

 

function solution(babbling) {
    var answer = 0;
    const canSpeak = ['aya', 'ye', 'woo', 'ma'];
    
    for(let i =0; i<babbling.length; i++){
        word = babbling[i]; // babbling 배열의 [i] 번째 단어
        for(let j =0; j<canSpeak.length; j++){
            word = word.replaceAll(canSpeak[j],''); //word가 canSpeak[j] 단어에 해당하면 공백으로 치환
        }
    //trim : 공백을 제거한 후 length가 0이면 발음 가능한 단어
        if(word.trim().length === 0){
            answer++;
        }
    }
    return answer;
}

2개 중 1개만 통과해서 다시 수정해야 함

728x90

댓글