Javascript - level : 0 - 옹알이

HS K·2022년 12월 10일
0

문제설명

머쓱이는 태어난 지 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) {
    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일차라서 문제를 읽고 이해하는 것부터 문제를 푸는 방법까지 조건에 맞도록 이해하는게 익숙하지 않다.

  1. 문제 조건이해
function solution(babbling) {
    var answer = 0;
    return answer;
}

에서
var answer=0;이 왜 나왔는가?
다른사람들 풀이를 찾아보니 var answer = 0; 를 지우고 코드를 쓴 풀이도 있었다. 굳이 형식에 맞추지 않아도 되나보다. 코테 튜토리얼에 대한 이해가 필요하다.


  1. 문제를 읽고 접근할때 어떻게 이해할건지 과정이 능숙하지 못하다.
    문자열 배열 babbling이 매개변수로 주어질 때
  • 여기에서는 매개변수와 인자에 대한 개념도 아직 잘 잡히지 않았다는 것을 알 수 있었다.
profile
주의사항 : 최대한 정확하게 작성하려고 하지만, 틀릴내용이 있을 수도 있으니 유의!

0개의 댓글