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


문제 설명

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • letter은 길이가 1인 영문자입니다.
  • my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
  • 대문자와 소문자를 구분합니다.

입출력 예

my_stringletterresult
“abcdef”“f”“abcde”
“BCBdbe”“B”“Cdbe”

입출력 예 설명

입출력 예 #1

  • “abcdef” 에서 “f”를 제거한 “abcde”를 return합니다.

입출력 예 #2

  • “BCBdbe” 에서 “B”를 모두 제거한 “Cdbe”를 return합니다.

나의 풀이

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

나의 두번째 풀이(Code Refactoring)

function solution(my_string, letter) {
  return my_string.replaceAll(letter, "");
}

// replaceAll 메서드로 간단히 문자열을 제거하는 방법을 사용했다
// 기존 replace는 요소 하나만 대체 replaceAll은 해당하는 문자열 대체

참고 할 만한 다른 사람의 코드

function solution(str, letter) {
  return Array.from(str)
    .filter((e) => !Array.from(letter).includes(e))
    .join("");
}

//Array.from 활용하기