궁금한게 많은 코린이의 Developer 노트
[TIL] 프로그래머스 문자열 겹쳐쓰기 본문
나의 문제풀이
function solution(my_string, overwrite_string, s) {
let my_Arr = [...my_string];
my_Arr.splice(s, overwrite_string.length, overwrite_string)
return my_Arr.join('');
}
1. 기존의 문자열을 [...]을 사용하여 배열로 만들어준다.
2. splice()문법을 사용하여 배열을 새로 반환한다:
my_Arr의 s 부터 바꿔준다, overwrite_string.length만큼 배열을 삭제하고,
overwrite_string 으로 비워진 부분을 새로운 배열로 채운다.
[ splice() 메소드 ] -다목적으로 사용가능: 삭제.추가.기존값 대체
-배열 객체에 사용가능한 내장 메서드임. (※ 문자열일 경우 배열로 바꿔줘야함)
-기존 요소를 삭제하거나 추가 교체하여 배열의 내용을 변경한다.(기존 요소를 삭제하지 않아도 가능하다.)
-제거된 요소가 담긴 별도의 배열을 새로 반환한다.(= 원본 배열을 건드린다.)
splice( start,deleteCount,item0,item1,item2...)
-start : 배열의 변경을 시작할 인덱스를 지정
-deleteCount( removeCount ): 배열에서 제거할 요소의 수.
-item: 배열에 추가할 요소. 이 값을 전달하지 않으면 제거하는 역할만 함.
[ slice() 메소드 ]
slice( start-Index, end-Index )
splice() 메서드와 달리 아무리 많이 호출해도 원본 배열의 값은 절대 건드리지 않는다.
->원본 배열이 그대로 보존되어야 하는 상황에서 유용하게 사용됨.
-start-Index, end-Index : 시작 인덱스부터 종료 인덱스까지 복사하여 반환한다,
배열로부터 특정 범위를 복사한 값들을 담고 있는 새로운 배열을 만드는데 사용.
다른사람의 문제풀이
function solution(my_string, overwrite_string, s) {
return my_string.slice(0,s)+overwrite_string+my_string.slice(s+overwrite_string.length);
}
문제풀이: slice()를 사용하여 특정 범위의 문자열을 복사하고 필요한 인덱스 부분만큼만 복사해서
새로운 문자열을 만들어냄.
처음 범위부터의 배열 복사( "He11oWor1d" )+overwrite_string("lloWorl")+my_string.slice(8);
0부터 s까지의 문자열을 복사하고..("He")+("lloWorl")+(d) 이런 문자열이 만들어지게 된다.
'TIL' 카테고리의 다른 글
[TIL] 프로그래머스 기초 flag에 따라 다른 값 반환하기 (2) | 2024.02.23 |
---|---|
[TIL] 문자 리스트를 문자열로 반환하기 (Math.max(),+연산자) (0) | 2024.02.08 |
[TIL] 프로그래머스 입문 A를 B로 만들기 (0) | 2024.02.02 |
[TIL] 프로그래머스 문자열 붙여서 출력하기 feat. join( ) 메서드 (0) | 2024.01.29 |
[TIL] 프로그래머스 홀짝 구분하기 (0) | 2024.01.29 |