머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
답
function solution(babbling) {
const pronunciations = ['aya', 'ye', 'woo', 'ma'];
return babbling
.map(value => {
pronunciations.forEach(pronunciation => {
if (new RegExp(`${pronunciation.repeat(2)}`).test(value)) {
return;
}
value = value.replaceAll(pronunciation, ' ');
});
return value;
})
.map(value => value.trim())
.filter(value => value === '')
.length;
}
코딩테스트 1일차라서 문제를 읽고 이해하는 것부터 문제를 푸는 방법까지 조건에 맞도록 이해하는게 익숙하지 않다.
function solution(babbling) {
var answer = 0;
return answer;
}
에서
var answer=0;이 왜 나왔는가?
다른사람들 풀이를 찾아보니 var answer = 0; 를 지우고 코드를 쓴 풀이도 있었다. 굳이 형식에 맞추지 않아도 되나보다. 코테 튜토리얼에 대한 이해가 필요하다.
문자열 배열 babbling이 매개변수로 주어질 때