🧬알고리즘/Programmers
[JavaScript] 문자열 중간에 다른 문자열 삽입하기
뉴발자
2024. 5. 30. 18:32
728x90
문제
문자열 my_string, overwrite_string과 정수 s가 있다.
my_string의 인덱스 s부터 overwrite_string의 길이만큼을 overwrite_string으로 바꾼 값을 리턴하는 함수를 작성해라.
728x90
나의 풀이
function solution(my_string, overwrite_string, s) {
// my_string 문자열의 인덱스 0부터 s까지
let prefix = my_string.substring(0, s);
// my_string 문자열의 인덱스 s이후
let another = my_string.substring(s);
let suffix = "";
// my_string 문자열의 인덱스 s이후 문자열이 overwrite_string의 길이보다 긴 경우
if( another.length > overwrite_string.length ) {
// 인덱스 s부터 overwrite_string의 문자열 길이를 더한 값
let idx = s + overwrite_string.length;
// 위에서 찾은 idx값 이후의 문자열을 suffix 변수에 넣어준다.
suffix = my_string.substring(idx);
}
// prefix, overwrite_string, suffix를 합친 값을 반환한다.
return prefix + overwrite_string + suffix;
}
다른 풀이
function solution(my_string, overwrite_string, s) {
// split 함수로 my_string의 문자열을 배열로 만듦
const answer = my_string.split('');
// splice 함수로 s 인덱스 부터 overwrite_string 길이까지 overwrite_string 문자열로 변환
answer.splice(s, overwrite_string.length, overwrite_string);
// join 함수로 문자열로 변환한 값을 return
return answer.join("");
}
728x90