문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
my_string overwrite_string s result "He11oWor1d" "lloWorl" 2 "HelloWorld" "Program29b8UYP" "merS123" 7 "ProgrammerS123"
일단 주어진 변수들을 매개변수로 받는 함수의 기본 템플릿을 작성해보자
function solution(my_string, overwrite_string, s){
}
여기서 이제 my_string으로 전달받은 문자를 전개연산자를 통해
새로운 배열로 만들어주자
function solution(my_string, overwrite_string, s){
const arr = [...my_string];
console.log(arr);
}
출력값 : ['H', 'e', '1', '1', 'o', 'W', 'o', 'r', '1', 'd']
새로 만든 arr 배열에 대해 splice() 메서드를 사용하여 전달받은 시작인덱스 s 부터 overwrite_string의 길이까지 해당 문자열로 바꿔주자
function solution(my_string, overwrite_string, s){
const arr = [...my_string];
arr.splice(s,overwrite_string.length,overwrite_string);
console.log(arr);
}
출력값 : [ 'H', 'e', 'lloWorl', 'd' ]
여기서 이제 배열의 요소를 연결해 하나의 문자열로 반환해주는 join() 메서드를 사용하고 반환하자 그리고 매개변수는 생락하면 쉼표를 통해 연결해주므로 공백을 주어서 구분자를 없애주자
function solution(my_string, overwrite_string, s){
const arr = [...my_string];
arr.splice(s,overwrite_string.length,overwrite_string);
return arr.join('');
}
출력값 : "HelloWorld"
통과!