영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string
이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
my_string
은 소문자와 공백으로 이루어져 있습니다.my_string
의 길이 ≤ 1,000my_string | result |
---|---|
"bus" | "bs" |
"nice to meet you" | "nc t mt y" |
입출력 예 #1
입출력 예 #1
💡 문제풀이 과정
for()
반복문과includes()
등을 이용하여 문자열에 모음이 포함되어 있는가를 확인하는 방법 등이 있었는데, 반복문을 사용하지 않고replace()
와정규식
을 활용한 답안 4번이 제일 간단한 풀이였다.- 그리고 테스트 예제 중 모음이 반복되는 문자열인 경우가 있으니 유의할 것. 예시)
let my_string = “boooma”;
✅ 답안 #1 : for()
반복문과 includes()
를 통해 모음에 속하지 않는 것을 리턴
function solution(my_string) {
let answer = "";
const vowel = ["a", "e", "i", "o", "u"];
for (let i = 0; i < my_string.length; i++) {
if (!vowel.includes(my_string[i])) answer += my_string[i];
}
return answer;
}
✅ 답안 #2 : for()
반복문을 중복으로 사용하고, replaceAll()
하여 모음에 있는 것을 공백으로 대체하여 리턴
function solution(my_string) {
const vowel = ["a", "e", "i", "o", "u"];
for (let i = 0; i < my_string.length; i++) {
for (let v of vowel) my_string = my_string.replaceAll(v, "");
}
return my_string;
}
✅ 답안 #3 : my_string
을 배열로 형태로 복사하고 filter()
와 includes()
를 이용하여 리턴
function solution(my_string) {
return [...my_string]
.filter((v) => !["a", "e", "i", "o", "u"].includes(v))
.join("");
}
✅ 답안 #4 : replace()
와 정규식
을 사용하여 모음을 공백으로 대체하여 리턴
function solution2(my_string) {
return my_string.replace(/[aeiou]/g, "");
}