📌 문제
📌 풀이
function solution(my_string, overwrite_string, s) {
let arr = [...my_string];
arr.splice(s, overwrite_string.length, overwrite_string);
return arr.join('');
}
my_string
은 문자열이기 때문에 배열(arr)로 만들어 준다.
여기서 spread operator 를 사용하는 이유는splice()
가 얕은 복사를 하기 때문이다.
* 참고로 slice() 는 깊은 복사를 한다. (얕은 복사 / 깊은 복사 정리글)splice(start, deleteCount, element)
:
• start = 배열의 변경을 시작할 인덱스
• deleteCount = 배열에서 제거할 요소의 수
• element = 배열에 추가할 요소. 아무 요소도 지정하지 않으면 요소를 제거하기만 함.
→ start 값으로 주어진s
값을 넣고,overwrite_string
의 length 값 만큼 제거하고, 제거한 자리에overwrite_string
을 집어 넣도록 작성하면 된다.- 마지막으로
join()
을 사용하여 배열을 하나의 문자열로 만들어 반환하면 된다.
728x90
'배움 기록 > 코테 연습' 카테고리의 다른 글
[프로그래머스] 등차수열의 특정한 항만 더하기 : JavaScript (0) | 2024.06.23 |
---|---|
[프로그래머스] 더 크게 합치기 : JavaScript (0) | 2024.03.31 |
[프로그래머스] 대소문자 바꿔서 출력하기 : JavaScript (0) | 2023.11.07 |
[알고리즘] 백준 11720번 : JavaScript(Node.js) 풀기 (0) | 2023.10.16 |
[알고리즘] 백준 9086번 : JavaScript(Node.js) 풀기 (0) | 2023.10.04 |
댓글