머쓱이는 태어난 지 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
'Dev. > Algorithm Prac' 카테고리의 다른 글
[프로그래머스] js - 문자열 내 p와 y의 개수 (0) | 2023.05.14 |
---|---|
프로그래머스 접미사 배열 JS (0) | 2023.04.21 |
프로그래머스 숫자 비교하기 - js (0) | 2023.02.20 |
프로그래머스 코딩테스트 연습 [세균증식] - js (0) | 2023.02.20 |
프로그래머스 [JavaScript] Lv.0 :: 종이자르기 (0) | 2022.11.30 |
댓글