Dev/Algorithm

[코딩테스트] 옹알이

隣席の開発者群 2023. 5. 22. 11:39
반응형

내가 너무 어렵게 생각하나보다. 그냥 심플하게 풀수 있는 문제도 

괜히 꼬다가 문제 못품. 과하게 생각하지 말아야겠다...

 

문제 설명

머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ babbling의 길이 ≤ 100
  • 1 ≤ babbling[i]의 길이 ≤ 15
  • babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.
    • 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다.
  • 문자열은 알파벳 소문자로만 이루어져 있습니다.

 

function solution(babbling) {
  var answer = 0;
  let can = ["aya", "ye", "woo", "ma"];

  for (let i in babbling) {
    let init = babbling[i];

    for (let j in can) {
      if (babbling[i].includes(can[j])) {
        init = init.replace(can[j], "X");  // 할 수 있는 단어는 X로 치환
      }
    }

    init = init.replace(/X/gi, "");  // X를 모두 공백으로 치환하고 나서
    if (init.length === 0) {  // 공백이 되면 answer에 추가
      answer += 1;
    }
  }
  return answer;
}

https://velog.io/@me-hana/JS%EB%A1%9C-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%A4%80%EB%B9%84%ED%95%98%EA%B8%B0-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-LV.0-%EC%98%B9%EC%95%8C%EC%9D%B4-1-Javascript

 

[프로그래머스 LV.0] (Javascript) 옹알이 (1)

프로그래머스 - 옹알이 (1)를 Javascript를 사용해 풀어보자.

velog.io

 

LIST

'Dev > Algorithm' 카테고리의 다른 글

[코딩테스트] 삼총사  (0) 2023.05.31
[코딩테스트] 최대공약수와 최소공배수  (0) 2023.05.23
[코딩테스트] 평행  (0) 2023.05.22
[코딩테스트] 겹치는 선분의 길이  (0) 2023.05.22
[코딩테스트] 안전지대  (1) 2023.05.19