반응형
내가 너무 어렵게 생각하나보다. 그냥 심플하게 풀수 있는 문제도
괜히 꼬다가 문제 못품. 과하게 생각하지 말아야겠다...
문제 설명
머쓱이는 태어난 지 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;
}
LIST
'Dev > Algorithm' 카테고리의 다른 글
[코딩테스트] 삼총사 (0) | 2023.05.31 |
---|---|
[코딩테스트] 최대공약수와 최소공배수 (0) | 2023.05.23 |
[코딩테스트] 평행 (0) | 2023.05.22 |
[코딩테스트] 겹치는 선분의 길이 (0) | 2023.05.22 |
[코딩테스트] 안전지대 (1) | 2023.05.19 |