프로그래머스(JavaScript)/Lv0

[프로그래머스 : 코딩테스트 입문] Lv0. 모음 제거 (JavaScript)

지미지민 2024. 2. 24. 21:38

💜 문제 설명


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

 

 

💜 제한 사항


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

 

💜 입출력 예


my_string result
"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합니다.

 

💜 코드 및 설명


function solution(my_string) {
    // 모음의 배열     
    var aeiou = ['a', 'e', 'i', 'o', 'u'];
    // 매개변수를 배열의 형태로 나타내기 위해 split() 함수 사용     
    var arr = my_string.split('');
    // answer은 빈배열임 
    // -> 모음을 제거한 문자열을 담기 위해서     
    var answer = [];
    // 매개변수를 for문으로 돌려줌    
    for(let i of arr){
    // 모음 배열이 매개변수 i가 포함되지 않다면
    // 즉, 모음을 제거한 문자열이면 빈 배열 answer에다가 push를 해줌         
        if(!aeiou.includes(i)){
            answer.push(i);
        }
    }
    // 문자열로 나타내기 위해 다시 join('')을 사용함     
    return answer.join('');
}

 

💜 실행결과


 

💜 느낀점


내가 생각해도 살짝 복잡하게 푼 것 같다는 생각이 들었다.

다른 사람의 풀이를 보면 더 간단히 푼 것이 있을거라고 생각해서 찾아보니까 

function solution(my_string) {
    return my_string.replace(/[aeiou]/g, '');
}

replace를 사용해서 더 간단히 푼 것을 확인할 수 있었다.