문제 설명
영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
문자열을 배열로 먼저 바꾸는 것을 생각했는데 그게 아니라 'aeiou'를 먼저 선언해줬다.
그리고 my_string을 split
함수를 써서 배열로 만들어주고 filter
함수를 써서 조건에 맞는 것들만 출력해서 join
함수를 사용하여 조건에 맞는 문자들을 합치게 했다.
!str
은 즉 aeiou가 아닌 문자들이고, 그 중에서 my_string
의 알파벳들 중에서 aeiou가 아닌 문자들만 출력해서 그 문자들을 join
으로 합쳐라라는 뜻이다.
밑에 방법보다 조금 복잡(?)하긴하지만 시간복잡도가 가장 빠름
function solution(my_string) {
const str = 'aeiou'
const newString = my_string.split('').filter((w) =>
!str.includes(w)).join('')
return newString
}
정규식을 사용하여 해결하는 방법도 있었다.
가장 간단한 방법이고 속도도 매우 빨랐음
function solution(my_string) {
return my_string.replace(/['a', 'e', 'i', 'o', 'u']/g, '')
}