🖥️Frontend/Programmers

[JavaScript] 문자열 중간에 다른 문자열 삽입하기

뉴발자 2024. 5. 30.
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

댓글