안녕하세요

프로그래머스 JS [옹알이2] 본문

프로그래머스/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;
}