영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
my_string은 소문자와 공백으로 이루어져 있습니다.my_string의 길이 ≤ 1,000| my_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, "");
}