알고리즘공부

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

jonghyeon6084 2024. 3. 5. 14:58
728x90

1. 문제 설명

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

2. 제한사항

  • my_string 와 overwrite_string 은 숫자와 알파벳으로 이루어져 있습니다.
  • 1  ≤ overwrite_string 의 길이 ≤ my_string 의 길이 ≤ 1000
  • 0 ≤ s ≤ my_string 의 길이 - overwrite_string 의 길이

3. 입출력 예

 

여기선 substring 문자열 함수에 대해 알고 있어야 한다.

String substring(int from, int to) 메서드

 - 문자열에서 해당 범위(from ~ to)에 있는 문자열을 반환, to는 범위에 포함되지 않는다.

 

4. 내가 처음 작성한 코드

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        int length1 = my_string.length();
        int length2 = overwrite_string.length();
        
        answer = my_string.substring(0,s) + overwrite_string;
        return answer;
    }
}

 

이렇게 하니 첫번째 입출력 예시에서 결과가 Helloworld 가 나와야하는데, Helloworl 까지 나왔다.

5. 수정한 코드

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        int length1 = my_string.length();
        int length2 = overwrite_string.length();
        
        answer = my_string.substring(0,s) + overwrite_string + my_string.substring(s + length2, length1);
        return answer;
    }
}

6. 결과

 - substring 이라는 메서드를 확실히 알고 가자.