프로그래머스/Lv.1
프로그래머스 JS [옹알이2]
sakuraop
2023. 1. 30. 12:58
옹알이2 문제 보기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 요약
발음이 가능한지 확인하고 싶은 단어가 있다.
그 단어가 "aya", "ye", "woo", "ma" 만을 포함하면 발음이 가능하다.
ayaaya, yeye 와 같이 연속된 단어는 발음이 불가능하다
문제 풀이
1) 반복되는 발음을 포함하면 발음이 불가능한 단어이다.
2) 각 발음을 해당 단어에서 제외한다.
3) 제외한 뒤에 남은 단어의 길이가 0이라면 발음이 가능한 단어이다.
가능한 발음 모음
const word = ["aya", "ye", "woo", "ma"];
발음이 가능한지 확인하고 싶은 단어들을 하나씩 확인한다.
for (let i = 0; i < babbling.length; i++) {
let babble = babbling[i];
for (let j = 0; j < word.length; j++) {
const eachWord = word[j];
반복이 있다면 발음 불가능한 단어
if (babble.includes(eachWord.repeat(2))) {
break;
}
반복이 없다면 각각의 발음을 단어에서 제외
babble = babble.split(eachWord).join(",");
}
모두 가능한 발음이라면 모두 제외되어 길이가 0이 된다.
if (babble.replaceAll(",", "").length === 0) {
answer++;
}
function solution(babbling) {
let answer = 0;
const word = ["aya", "ye", "woo", "ma"];
for (let i = 0; i < babbling.length; i++) {
let babble = babbling[i];
for (let j = 0; j < word.length; j++) {
const eachWord = word[j];
if (babble.includes(eachWord.repeat(2))) break;
babble = babble.split(eachWord).join(",");
}
if (babble.replaceAll(",", "").length === 0) answer++;
}
return answer;
}