🙌문제설명
문자열 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의 길이
☑️나의 풀이
function solution(my_string, overwrite_string, s) {
let arr = []
arr = my_string.split("");
arr.splice(s, overwrite_string.length, overwrite_string);
return arr.join("");
}
❓slice 메서드로 문제를 푼다면?
function solution(my_string, overwrite_string, s) {
return my_string.slice(0,s) + overwrite_string + my_string.slice(s+overwrite_string.length);
}
☑️배운 점
splice 메서드
배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경. 원본 배열이 수정됨
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start : 배열의 변경을 시작할 인덱스
deleteCount : 배열에서 제거할 요소의 수
item : 배열에 추가할 요소, 없으면 splice는 삭제만 함
slice 메서드
어떤 배열의 begin 부터 end까지(미포함 가능)에 대한 얕은 복사본을 새로운 배열 객체로 반환. 원본 배열은 변하지 않음
arr.slice([begin[, end]])