[js] 문자열 겹쳐쓰기 (lv.0, 정답률 78%)

sookyoung.k·2024년 5월 13일
0
post-thumbnail

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

나의 풀이

function solution(my_string, overwrite_string, s) {
    return [...my_string]
   .splice(0, s)
   .concat([...overwrite_string], [...my_string].splice(s + overwrite_string.length))
   .join('');
}

지난번 스터디를 하면서 Y언니의 풀이를 보고 '맞다... concat()이라는 친구가 있었지...' 하고 새삼 깨달음을 얻었던 나... 다음번엔 써먹어봐야지 했는데 마침 발견함

  • 스프레드 연산자 (^__^ 알아냈따)를 통해서 배열로 쪼개구 s번째 인덱스 전까지 잘라준다.
  • 그리고 concat() 메서드를 통해 중간에 잘라낸 부분에 쏙 넣어줄 배열과, 나머지 뒤 문자열을 한 번에 합쳐버려~
  • join() 메서드로 문자열로 합쳐서 반환! 짜잔~ 오예~

다른 풀이 1

function solution(my_string, overwrite_string, s) {    
    return my_string.slice(0,s)+overwrite_string+my_string.slice(s+overwrite_string.length);
}
  • concat() 안쓰고 그냥 이렇게 합쳐줘도 됩니당~~ 그냥 내가 concat()을 써먹어야지 했는데 기회가 생겨서 조앗을 뿐...
profile
영차영차 😎

0개의 댓글