[프로그래머스] Lv. 0 - 특정 문자 제거하기

지윤·2023년 1월 23일
0

프로그래머스

목록 보기
25/69

문제

풀이

function solution(my_string, letter) {
    let regexAll = new RegExp(letter, "g");

    return my_string.replace(regexAll,"");
}

처음 든 생각은 letter로 주어지는 단어를 없애서 반환해주면 되겠다. 였다. 떠오르는 메서드가 replace 여서 써봤는데 같은 단어가 두개 들어가 있으면 첫 단어만 없애주고 반환해주길래 replace 메서드는 전체를 바꿔주는게 아니라, 한번 찾고, 찾으면 바로 반환하는 메서드였다. 정규표현식으로 하면 된다길래 /letter/g로 해보려고 하는데 //g안에는 변수가 안들어갔다..ㅎ..
또 찾아보니 정규표현식 안에 객체를 넣으려면 new RegExp라는 객체를 만들어서 써야했다. 그렇게 제출했는데.. 아 내가 너무 어렵게 생각한것 같아서 다른 사람들의 풀이를 보니... replaceAll()과 split(letter)으로 나눠주고 join해주는 신박한 방법이 있었다. split('').join('')을 그렇게 많이 써봤으면서 여기서는 왜 떠올리지 못한건지..ㅠ.. 역시 공식처럼 쓰는 버릇을 해서 그런 것 같다.. 완전 반성합니다. 쉬운 문제인줄 알았는데 배울게 많은 문제였다.
아래는 내가 감탄한 답변들!

function solution(my_string, letter) {
    const answer = my_string.split(letter).join('')
    return answer;
}
function solution(my_string, letter) {
    return my_string.replaceAll(letter, "");
}

보고 배우자!!

profile
방금 태어난 개발자

0개의 댓글