본문 바로가기
코딩테스트/자바 Level 0

[Java] 문자열 겹처쓰기

by onggury 2023. 7. 31.

문제

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

 

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        StringBuilder answer = new StringBuilder();
        
        int overwrite_string_len = overwrite_string.length();
        int idx = 0;
        
        for(int i = 0; i < my_string.length(); i++) {
            if(i >= s && i < s + overwrite_string_len) {
                answer.append(overwrite_string.charAt(idx++));
                continue;
            }
            answer.append(my_string.charAt(i));
        }
        
        return answer.toString();
    }
}

 

 

 

출처

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