특정한 문자를 대문자로 바꾸기

영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

특정한 문자를 대문자로 바꾸기Lv.0

181873

https://school.programmers.co.kr/learn/courses/30/lessons/181873?language=javascript

해설

solution은 두 개의 매개변수 my_string과 alp를 받아서, 문자열 my_string에서 특정 문자 alp를 찾아 대문자로 변경한 후 반환합니다.

  • Name
    const charArray = my_string.split('');
    Type
    Description

    먼저, my_string을 문자 배열로 변환합니다. split('') 함수를 사용하여 문자열을 문자 단위로 나누어 각 문자를 배열의 요소로 넣습니다. 이렇게 하면 문자열의 각 문자가 배열의 요소로 들어가게 됩니다.

  • Name
    for (let i = 0; i < charArray.length; i++)
    Type
    Description

    charArray의 각 요소를 반복적으로 확인하기 위해 for 루프를 사용합니다. 루프는 배열의 처음부터 끝까지 반복됩니다.

  • Name
    if (charArray[i] === alp)
    Type
    Description

    현재 인덱스의 요소가 찾고자 하는 문자 alp와 같은지 확인합니다.

  • Name
    charArray[i] = alp.toUpperCase();
    Type
    Description

    만약 현재의 문자가 찾고자 하는 문자 alp와 같다면, 해당 문자를 대문자로 변경하여 배열에 다시 할당합니다.

  • Name
    return charArray.join('');
    Type
    Description

    반복이 끝난 후, 배열의 각 문자를 다시 문자열로 합치기 위해 join('') 함수를 사용합니다. 배열의 각 요소를 빈 문자열('')로 구분하여 합치면서 문자열로 변환합니다.

문자열 연산은 각 연산마다 새로운 문자열을 만들어야 하는데, 배열을 사용하면 메모리 사용을 줄일 수 있습니다.

특정한 문자를 대문자로 바꾸기

function solution(my_string, alp) {
    const charArray = my_string.split('');
    for (let i = 0; i < charArray.length; i++) {
        if (charArray[i] === alp) {
            charArray[i] = alp.toUpperCase();
        }
    }
    return charArray.join('');
}