알고리즘 문제/프로그래머스
[JavaScript] 옹알이 (1) - Level 0
히찔
2023. 2. 22. 22:35
코드
function solution(babbling) {
const available = ["aya", "ye", "woo", "ma"]
const tempArr = babbling.map(babbling => {
available.forEach(available => {
if (babbling.includes(available)) babbling = babbling.replace(available, ' ')
return
})
return babbling
})
return tempArr.filter(v => v.replace(/\s/g, '').length === 0).length
}
- babbling 배열에서 머쓱이의 조카가 발음할 수 있는 단어를 ' '로 치환한다.
- ''가 아닌 ' '인 이유는 예를들어 'wyeoo' => ye 치환 : 'woo' => woo 치환 : '' 가 가능해지는 것을 방지하기 위함이다.
- 공백만 존재하는 tempArr의 값의 갯수를 반환한다!
다른 사람 풀이
function solution(babbling) {
var answer = 0;
const regex = /^(aya|ye|woo|ma)+$/;
babbling.forEach(word => {
if (regex.test(word)) answer++;
})
return answer;
}
- test() 메서드는 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환해준다.
- 정규식을 사용해서 조건에 부합하면 answer의 갯수를 늘려주고 answer를 반환한다.

이렇게 간단하다니 오늘도 새삼 놀란다..!!
반응형