[프로그래머스] Lv.0 모음 제거 JavaScript

Janet·2023년 4월 6일
0

Algorithm

목록 보기
117/314

문제 설명

영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • my_string은 소문자와 공백으로 이루어져 있습니다.
  • 1 ≤ my_string의 길이 ≤ 1,000

입출력 예

my_stringresult
"bus""bs"
"nice to meet you""nc t mt y"

입출력 예 설명

입출력 예 #1

  • "bus"에서 모음 u를 제거한 "bs"를 return합니다.

입출력 예 #1

  • "nice to meet you"에서 모음 i, o, e, u를 모두 제거한 "nc t mt y"를 return합니다.

문제풀이

💡 문제풀이 과정

  • 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, "");
}
profile
😸

0개의 댓글