Algorithm/Programmers

[JS 코딩테스트] Lv.0 특정 문자 제거하기

33e 2025. 5. 14. 08:51

문제 설명

문자열 my_string과 문자 letter이 매개변수로 주어집니다.

my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

 

제한사항

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

입출력 예

my_string letter result
"abcdef" "f" "abcde"
"BCBdbe" "B" "Cdbe"

나의 풀이

function solution(my_string, letter) {

    //my_string을 분리해서 배열로 저장
    let array = my_string.split("")

	//반복문으로 array[i]와 letter가 같으면 splice로 삭제
    for(let i = 0; i < array.length; i++){
        if(array[i] === letter){
            array.splice(i,1)
            i--
        }
    }
    //배열을 다시 합침
    return array.join("");
}

 

 

다른 사람의 풀이

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

내가 한 방법의 더 효율적인 버전 같다. letter로 나눌 방법을 생각을 왜 못 했을까

 

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

replaceAll하면 더 간단하게 풀 수 있다