[코딩테스트] 문자열 겹쳐쓰기

은현수·2024년 6월 6일

문제 설명

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

입출력 예

my_stringoverwrite_stringsresult
"He11oWor1d""lloWorl"2"HelloWorld"
"Program29b8UYP""merS123"7"ProgrammerS123"

중요 함수/메소드

  1. StringBuilder
    1) String은 문자열의 내용을 바꾸지 못하는 반면에 StringBuilder는 변경이 가능하다.
    2) () 안에 바로 값을 선언하여 초기화 할 수 있다.
StringBuilder sb = new StringBuilder(my_string)
  1. setCharAt
    1) 특정 위치의 문자열을 교체 할 수 있다.
a.setCharAt(index, string)

작성한 코드

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
 
        int overwrite_string_s = overwrite_string.length();
        StringBuilder my_string_builder = new StringBuilder(my_string);
        for(int i=0;i<overwrite_string_s;i++)
        {
            my_string_builder.setCharAt(i+s, overwrite_string.charAt(i));
        }
        
        String answer = my_string_builder.toString();
        
        return answer;
    }
}
profile
백엔드 개발자

0개의 댓글