❓Problem
문제 설명
머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ babbling의 길이 ≤ 100
1 ≤ babbling\[i\]의 길이 ≤ 15
babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.
즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다.
문자열은 알파벳 소문자로만 이루어져 있습니다.
❗Solution
function solution(babbling) {
let answer = 0;
for(let i in babbling){
let a= babbling[i].replace("aya", " ");
let b= a.replace("ye", " ");
let c= b.replace("woo", " ");
let d= c.replace("ma", " ");
if(d.trim()==0){
answer ++;
}
}
return answer;
}
//1. babbling안에 네 가지 발음인 "aya", "ye", "woo", "ma" 포함되는지 확인여부
//2. 네 가지 발음을 replace를 사용하여 공백으로 바꿔준다.
//3. 공백을 제거하면서 answer을 추가한다.
💯Study
String.prototype.replace()
const str = "My dog is so lovely...";
const newstr = str.replace(/dog/i, "cat");
console.log(newstr); // My cat is so lovely...
정규식이 정의되어 있으며 replace()대소문자 무시 한다.
String.prototype.trim()
var str = " ioimmini ";
console.log(str.trim()); // 'ioimmini'
trim() 메서드는 문자열 양 끝의 공백을 제거하고 원본 문자열을 수정하지 않고 새로운 문자열을 반환한다
한쪽 끝의 공백만 제거한 새로운 문자열을 반환하려면 trimStart() 또는 trimEnd()를 사용한다.
Reference
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers JavaScript] Lv.1 덧칠하기 (0) | 2023.10.18 |
---|---|
[Programmers JavaScript] Lv.0 배열 조각하기 (0) | 2023.10.05 |
[Programmers JavaScript] Lv.1 추억점수 (1) | 2023.10.05 |