문자열 my_string
, overwrite_string
과 정수 s
가 주어집니다.
문자열 my_string
의 인덱스 s
부터 overwrite_string
의 길이만큼을 문자열 overwrite_string
으로 바꾼 문자열을 return
하는 solution
함수를 작성해 주세요.
✅ 제한사항
1️⃣ my_string
와 overwrite_string
은 숫자와 알파벳으로 이루어져 있습니다.
2️⃣ 1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
3️⃣ 0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
function solution(my_string, overwrite_string, s) {
// console.log("my_string.slice(0, s): ", my_string.slice(0, s));
// console.log("overwrite_string: ", overwrite_string);
// console.log(
// "my_string.slice(s + overwrite_string.length): ",
// my_string.slice(s + overwrite_string.length)
// );
return (
my_string.slice(0, s) +
overwrite_string +
my_string.slice(s + overwrite_string.length)
);
}
solution("He11oWor1d", "lloWorl", 2); // "HelloWorld"
// solution("Program29b8UYP", "merS123", 7); // "ProgrammerS123"
// solution("aaaaaa", "bbb", 3); // "aaabbb"
핵심:
slice
메서드를 사용하여 중간값 갈아끼우기
처음엔 replace
로 문제에 접근했다가, case 6에서 계속 틀렸다.
반례로 solution("aaaaaa", "bbb", 3);
을 실행했을 때, 기대값이 나오지 않는 것을 확인하고 replace로는 답을 낼 수 없겠다 판단했다.
slice
메서드를 활용하여 썩은 부분 도려내듯 내가 변경할 부분 직전과 이후 값을 구하여 문자열을 갈아끼우는 방식으로 해결할 수 있었다.
slice
메서드 활용하기 꽤 괜찮다. (splice
보다 slice
가 더 빠름)