코딩테스트

[programmers] JAVA_0단계 문자열 겹쳐쓰기

congs 2024. 6. 12. 13:40

문자열 겹쳐쓰기

 

풀이

- substring을 이용하여 단어를 리턴하는 방법

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

풀어서 적는다면

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());
        return before + overwrite_string + after;
    }
}

 

- 단어를 문자배열로 변경하여 바꾸는 방법

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        // my_string을 char 배열로 변환
        char[] my_chars = my_string.toCharArray();
        // overwrite_string을 char 배열로 변환
        char[] overwrite_chars = overwrite_string.toCharArray();
        
        // overwrite_string의 각 문자를 my_chars의 해당 위치에 복사
        for (int i = 0; i < overwrite_chars.length; i++) {
            my_chars[s + i] = overwrite_chars[i];
        }
        
        // 변경된 char 배열을 다시 문자열로 변환하여 반환
        return String.valueOf(my_chars);
    }
}

 

📌 여기서 .toCharArray( )는 각 문자를 문자배열로 변경하는 메서드!

String str = "hello";
char[] charArray = str.toCharArray();  // {'h', 'e', 'l', 'l', 'o'}