[프로그래머스] 모음 제거 (JS)

2022. 11. 27. 17:15코딩테스트

728x90

[프로그래머스] 모음 제거 (JavaScript)

👉 문제설명

영어에선 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합니다.

 

👉 풀이

첫 번째 풀이

처음 문제 풀 때 replace() 와 정규표현식을 이용해서 풀고 싶었으나.. 검색하기전에는 기억이 나지 않아서 야매로 풀었다.

replaceAll() 을 이용하여 모음이 있을 경우에는 해당 문자를 "  " (공백2개) 로 변경하여 그 부분만 split 으로 나눠서 join() 으로 합쳤다.

내가 봐도.. 별로인 코드

function solution(my_string) {
    const a = ['a', 'e', 'i', 'o', 'u'];
    for(let i=0; i<a.length; i++){
        my_string = my_string.replaceAll(a[i],"  ")
    }
     return my_string.split("  ").join("")
}

두 번째 풀이

두 번째 풀이는 replace() , 정규식표현을 이용하여 이전 코드와 다르게 짧게 수정하였다.

function solution(my_string) {
    const regex = /[aeiou]/g;
   return my_string.replace(regex,'');
}
728x90

'코딩테스트' 카테고리의 다른 글

[프로그래머스] 문자열 밀기 (JS)  (0) 2022.11.28
[프로그래머스] 순서쌍의 개수 (JS)  (0) 2022.11.27