프로그래머스Lv0 - 문자열 겹쳐쓰기

감자·2023년 7월 19일
0

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

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        return answer;
    }
}

내가 처음에 생각한 알고리즘은 아래처럼 했었는데 하나만 통과가 되었다.
당연함. overwirte_string이 덮여씌우고 그 뒤에 남은 my_string 문자를 생각 못 함

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {

        String rs = my_string.substring(0, overwrite_string.length());
        String answer = rs+overwrite_string;
        return answer;
    }
}

코드를 다시 수정하면 다음과 같다.

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {

        String before = my_string.substring(0, s);
        String after = my_string.substring(s+overwrite_string.length());
        String answer = before+overwrite_string+after;
        return answer;
    }
}
  1. before 변수에 substring을 써서 0번째부터 정수 s의 값까지 자른다.
  2. overwirte_string을 넣어준다.
  3. after 변수에 s값과 overwrite_string.length()의 길이를 더한 수부터 다시 나머지 my_string이 나온다.
profile
코딩하는 감자

0개의 댓글