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
'🧬알고리즘 > Programmers' 카테고리의 다른 글
[JavaScript] 홀짝에 따라 다른 수 반환하기 (0) | 2024.05.31 |
---|---|
[JavaScript] 더 큰 수 반환하기 (0) | 2024.05.31 |
[JavaScript] 문자열 곱하기 (0) | 2024.05.31 |
[JavaScript] 두 문자열의 문자 섞기 (0) | 2024.05.31 |
[JavaScript] 문자열 대소문자 바꿔서 출력하기 (0) | 2024.05.30 |
댓글