문제 설명

문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

my_stringoverwrite_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) {
  const myArray = my_string.split('');
  let j = 0; // overwrite_string의 index
  
  for (let i = s; i < my_string.length; i++) {
     // overwrite_string의 끝 지점 까지 덮어쓰기해야 하기 때문
     if(j < overwrite_string.length){
        myArray[i] = overwrite_string[j];     
     }
    j++; // 다음 index를 덮어쓰기 하기 위해
  }
    
    // 배열값을 join하여 문자열로 바꿈
    const answer = myArray.join("");
    
    return answer;
}

느낀 점

이해하면 쉬운데, if문의 조건에서 엄청 버벅였다..
오랜만에 하는 것도 있지만, 알고리즘은 일하면서 접할 일이 없다보니 솔직히 쉽지 않았다.
매일매일 하다보면 언젠간 실력이 향상될 거라고 믿으며, 오늘도 현타를 채워가는 중..

profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글