프로그래머스[LEVEL0] 문자열 겹쳐쓰기 JavaScript

강동욱·2024년 9월 9일
0

프로그래머스

목록 보기
15/33

문제

문자열 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의 길이

입출력 예

my_stringoverwrite_stringsresult
"He11oWor1d""lloWorl"2"HelloWorld"
"Program29b8UYP""merS123"7"ProgrammerS123"

풀이

일단 주어진 변수들을 매개변수로 받는 함수의 기본 템플릿을 작성해보자

function solution(my_string, overwrite_string, s){
	
}

여기서 이제 my_string으로 전달받은 문자를 전개연산자를 통해
새로운 배열로 만들어주자

function solution(my_string, overwrite_string, s){
	const arr = [...my_string];
    console.log(arr);
}

출력값 : ['H', 'e', '1', '1', 'o', 'W', 'o', 'r', '1', 'd']


새로 만든 arr 배열에 대해 splice() 메서드를 사용하여 전달받은 시작인덱스 s 부터 overwrite_string의 길이까지 해당 문자열로 바꿔주자

function solution(my_string, overwrite_string, s){
	const arr = [...my_string];
    arr.splice(s,overwrite_string.length,overwrite_string);
    console.log(arr);
}

출력값 : [ 'H', 'e', 'lloWorl', 'd' ]


여기서 이제 배열의 요소를 연결해 하나의 문자열로 반환해주는 join() 메서드를 사용하고 반환하자 그리고 매개변수는 생락하면 쉼표를 통해 연결해주므로 공백을 주어서 구분자를 없애주자

function solution(my_string, overwrite_string, s){
	const arr = [...my_string];
    arr.splice(s,overwrite_string.length,overwrite_string);
    return arr.join('');
}

출력값 : "HelloWorld"

통과!

profile
고군분투 퍼블리셔

0개의 댓글

관련 채용 정보