
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000s ≤ my_string의 길이 - overwrite_string의 길이| my_string | overwrite_string | s | result |
|---|---|---|---|
| "He11oWor1d" | "lloWorl" | 2 | "HelloWorld" |
| "Program29b8UYP" | "merS123" | 7 | "ProgrammerS123" |
입출력 예 #1
my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.입출력 예 #2
my_string에서 인덱스 7부터 overwrite_string의 길이만큼에 해당하는 부분은 "29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.function solution(my_string, overwrite_string, s) {
let answer = [...my_string]; // 문자열을 배열로 변환
answer.splice(s, overwrite_string.length, ...overwrite_string); // 특정 부분 삭제 후 덮어쓰기 (문자열 분해하여 삽입)
return answer.join(""); // 배열을 다시 문자열로 변환하여 반환
}
let answer = [...my_string];는 my_string을 문자 하나씩 분해하여 배열로 변환합니다.예: "He11oWor1d" → ['H', 'e', '1', '1', 'o', 'W', 'o', 'r', '1', 'd']answer.splice(s, overwrite_string.length, ...overwrite_string);는 다음 작업을 수행합니다:s부터 overwrite_string.length만큼 삭제: 배열의 인덱스 s에서 overwrite_string의 길이만큼 요소를 삭제합니다.overwrite_string의 각 문자를 스프레드 연산자(...)를 사용해 삽입합니다.예:s = 2, overwrite_string = "lloWorl"일 때:['H', 'e', '1', '1', 'o', 'W', 'o', 'r', '1', 'd']→ ['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']answer.join("");는 배열을 다시 문자열로 변환합니다.예: ['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'] → "HelloWorld""HelloWorld"