[programmers] 특정한 문자를 대문자로 바꾸기 - JavaScript
영소문자로 이루어진 문자열 'my_string'에서 'alp'에 해당하는 모든 글자를 대문자로 바꾼 문자열을 반환하는 문제를 풀었습니다. 처음 작성한 코드는 반복문을 사용하여 문자열을 순회하고 대문자로 변경하는 방식이었지만, 수정한 코드에서는 replaceAll() 함수를 사용하여 더 간결하게 문제를 해결했습니다.
Jan 08, 2024
문제 설명
영소문자로 이루어진 문자열
my_string
과 영소문자 1글자로 이루어진 문자열 alp
가 매개변수로 주어질 때, my_string
에서 alp
에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.제한사항
- 1 ≤
my_string
의 길이 ≤ 1,000
입출력 예
my_string | alp | result |
"programmers" | "p" | "Programmers" |
"lowercase" | "x" | "lowercase" |
입출력 예 설명
입출력 예 #1
- 예제 1번의
my_string
은 "programmers"이고alp
가 "p"이므로my_string
에 모든 p를 대문자인 P로 바꾼 문자열 "Programmers"를 return 합니다.
입출력 예 #2
- 예제 2번의
alp
는 "x"이고my_string
에 x는 없습니다. 따라서 "lowercase"를 return 합니다.
처음 작성한 코드
solution.js
function solution(my_string, alp) { let my_string_arr = my_string.split(""); for(let i=0; i<my_string_arr.length; i++){ if(my_string_arr[i]==alp){ my_string_arr[i] = my_string_arr[i].toUpperCase(); } } my_string = my_string_arr.join(""); return my_string; }
수정한 코드
solution.js
function solution(my_string, alp) { if (!my_string.includes(alp)) { return my_string; } return my_string.replaceAll(alp, alp.toUpperCase()); }
처음 작성한 코드는 보기 간결하지 않았다. 그에 따라 다른 함수를 이용하는 방법이 없을까 찾아보다가 replaceAll() 함수를 이용하는 방법을 알게 되었다.
핵심 키워드
- replaceAll(a,b) 함수는 해당 String에서 a라는 값이 있을 경우 모든 a를 b로 바꾸는 함수다.
결론!
해당 문제를 풀면서 replaceAll() 함수의 활용법을 익힐 수 있었다.
Share article