ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS] 문자열 겹쳐쓰기
    코테라도 하자 2023. 8. 14. 12:22

    Programmers / 코딩테스트 연습 / 코딩 기초 트레이닝 / 문자열 겹쳐쓰기

    https://school.programmers.co.kr/learn/courses/30/lessons/181943

     

    문제 설명

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

    입출력 예

    my_string overwrite_string s result
    "He11oWor1d" "lloWorl" 2 "HelloWorld"
    "Program29b8UYP" "merS123" 7 "ProgrammerS123"

     


    내 풀이

    function solution(my_string, overwrite_string, s) {
        const array = my_string.split('');
        array.splice(s, overwrite_string.length, ...overwrite_string);
        return array.join('');
    }

    splice가 array 자체를 변경시키는 함수인데 array.splice를 return하면 제거된 array를 반환하기 때문에 문장을 나눠썼다.

    splice의 첫번째 인자는 제거할 index의 시작, 두번째 인자는 첫번째 index로부터 제거할 개수, 그리고 3번째 인자부터는 그 자리에 추가할 개체들을 나열하면 된다. 그리고 string을 반환해야하므로 join을 사용해 string으로 만들었다. 

     

    다른 사람의 풀이

    function solution(my_string, overwrite_string, s) {    
        return my_string.slice(0,s)+overwrite_string+my_string.slice(s+overwrite_string.length);
    }

    앞 뒤로 자른 애들과 중간에 붙일 스트링을 나열했는데, 한눈에 알아보기는 쉬운 것 같다. 

Designed by Tistory.