Frontend Developer

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

문제

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

정답

function solution(my_string, letter) {
    let str = [...my_string.split('')];
    let answer = ""

    for(let i = 0; i < str.length; i++){
        if(str[i] !== letter){
           answer = answer + str[i]
        }
    }
    return answer;
}
  1. function solution(my_string, letter) {: 함수 solution을 정의하고, 두 개의 매개변수 my_string과 letter를 받습니다.
  2. let str = […my_string.split(‘’)];: 문자열을 배열로 변환하여 str 변수에 저장합니다. split(‘‘)은 문자열을 각각의 문자로 분리한 후 배열로 만듭니다.
  3. let answer = “”: 결과를 저장할 빈 문자열 answer를 초기화합니다.
  4. for(let i = 0; i < str.length; i++){: 배열 str을 반복하는 for 루프를 시작합니다.
  5. if(str[i] !== letter) {: 현재 인덱스의 문자가 letter와 같지 않은 경우 아래의 코드를 실행합니다.
  6. answer = answer + str[i]: 현재 문자를 answer에 추가합니다. 이는 letter를 제외한 문자를 새로운 문자열에 누적하는 과정입니다.
  7. return answer;: 최종적으로 구성된 문자열 answer를 반환합니다.

코드 최적화

function solution(my_string, letter) {
    const answer = my_string.split(letter).join('')
    return answer;
}
  1. const answer = my_string.split(letter).join(‘’): 주어진 문자열 my_string을 split() 메서드를 사용하여 letter를 기준으로 분할하고, 그 결과를 배열로 만듭니다. 그리고 나서 join(‘’) 메서드를 사용하여 이 배열을 다시 문자열로 결합합니다. 이렇게 함으로써 letter가 제거된 새로운 문자열을 생성하고, 이를 answer 변수에 저장합니다.
    • split(letter): letter를 기준으로 문자열을 분할한 후 배열로 만듭니다.
    • join(‘’): 배열의 각 요소를 빈 문자열로 결합하여 문자열을 생성합니다.
  2. return answer;: 최종적으로 구성된 문자열 answer를 반환합니다.