[프로그래머스/js] 모음 제거 (map, filter, reduce 사용하기)

이다형·2023년 7월 12일
0

문제 설명

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

제한 사항

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

입출력 예

map()

 function solution(my_string) {  
    const vowels = ["a","e","i","o","u"];
   
    const result = my_string.split("").map((x) => {
        if(!vowels.includes(x)) return x;
    }).join("")
    
    return result;
 }

map() 함수는 각 배열요소들을 새롭게 반환하는 배열을 생성한다.
vowels에 포함되지 않는 x들만 담긴 새로운 배열이 반환된다.

filter()

 function solution(my_string) {  
    const vowels = ["a","e","i","o","u"];
   
    const result = my_string.split("").filter((x) => !vowels.includes(x)).join("")
    
    return result;
 }

filter() 함수는 조건에 맞는 요소들만 담긴 배열을 반환한다.
map과 유사하지만 따로 if조건문과 return이 필요없다.

reduce()

 function solution(my_string) {  
    const vowels = ["a","e","i","o","u"];
   
    const result = my_string.split("").reduce((str,x)=>{
        if (!vowels.includes(x)) str+=x;
        return str;
    }, "");
    
    return result;
 }

reduce() 함수는 누산기가 있어서 누적된 값을 반환해준다.
str 파라미터에 my_string의 요소 x가 조건에 부합되면 누적해준다.

0개의 댓글