문제
문자열 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;
}
- function solution(my_string, letter) {: 함수 solution을 정의하고, 두 개의 매개변수 my_string과 letter를 받습니다.
- let str = […my_string.split(‘’)];: 문자열을 배열로 변환하여 str 변수에 저장합니다. split(‘‘)은 문자열을 각각의 문자로 분리한 후 배열로 만듭니다.
- let answer = “”: 결과를 저장할 빈 문자열 answer를 초기화합니다.
- for(let i = 0; i < str.length; i++){: 배열 str을 반복하는 for 루프를 시작합니다.
- if(str[i] !== letter) {: 현재 인덱스의 문자가 letter와 같지 않은 경우 아래의 코드를 실행합니다.
- answer = answer + str[i]: 현재 문자를 answer에 추가합니다. 이는 letter를 제외한 문자를 새로운 문자열에 누적하는 과정입니다.
- return answer;: 최종적으로 구성된 문자열 answer를 반환합니다.
코드 최적화
function solution(my_string, letter) {
const answer = my_string.split(letter).join('')
return answer;
}
- const answer = my_string.split(letter).join(‘’): 주어진 문자열 my_string을 split() 메서드를 사용하여 letter를 기준으로 분할하고, 그 결과를 배열로 만듭니다. 그리고 나서 join(‘’) 메서드를 사용하여 이 배열을 다시 문자열로 결합합니다. 이렇게 함으로써 letter가 제거된 새로운 문자열을 생성하고, 이를 answer 변수에 저장합니다.
- split(letter): letter를 기준으로 문자열을 분할한 후 배열로 만듭니다.
- join(‘’): 배열의 각 요소를 빈 문자열로 결합하여 문자열을 생성합니다.
- return answer;: 최종적으로 구성된 문자열 answer를 반환합니다.