헬리'Daily/꾸준한 알고리즘

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

헬리이 2023. 8. 7. 15:49
728x90

 

나의 풀이)

1. my_string을 split('')을 이용하여 모두 나눈다 .

2. filter() 를 이용하여 모음인 vowel변수를 따로 선언하여 vowel이 아닌것들만 조건을 확인하여 모음이 아니면 참이 되도록 includes()이용한다.  => 모음이 아닌 문자만 남게 된다!

3. includes()에 해당되는  글자만 다시 join('')을 이용하여 붙여서 return 한다.

 

코드

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

 

 

다른사람의 풀이)

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

 

function solutio(my_string){

return my_string.replace(/[aeiou]/g, '')}

정규 표현식을 쓴 코드도 있었다. 

1. .replace() 메서드: 이 메서드는 문자열에서 특정 패턴을 찾아 다른 문자열로 바꾸는 역할을 한다.

 

2. /[aeiou]/g: 이 부분은 정규표현식 패턴으로,  [aeiou]는 대괄호 안에 있는 문자 중 어느 하나라도 일치하는 패턴을 의미한다.         

 즉, 문자열에서 "a", "e", "i", "o", "u" 중 하나라도 있는 부분을 찾겠다는 의미한다.

 

3. /g는 전역(global) 검색을 의미하며, 패턴에 일치하는 모든 부분을 찾아 바꾸도록 한다.

 

4. '': 두 번째 매개변수로 들어간 빈 문자열은, 찾은 패턴을 모두 빈 문자열로 바꾸라는 의미입니다. 즉, 모음을 제거하고 빈 문자열로 대체하게 된다. 

 

따라서, 주어진 문자열 my_string에 대해 .replace(/[aeiou]/g, '')를 적용하면, 모음을 모두 제거한 문자열이 반환된다. 

 

 

 

새로운 내용을 배우게 되었다 !!

 

 

정규표현식 !! 메모 !!

728x90