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, "");
}
보고 배우자!!