MapleStory Finger Point

🏃‍♀️programmers/Java

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

HYEJU01 2024. 4. 24. 21:50

💡 직접 푼 코드 

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        
        String answer = "";
        
        for (int i = 0; i < s; i++){
            char ch1 = my_string.charAt(i);
            answer += ch1;
        }
        //0~9 0~6+2 =
       for (int i = 0; i < overwrite_string.length(); i++){ 
           char ch2 = overwrite_string.charAt(i);
           answer += ch2;
       }
        if (my_string.length() != overwrite_string.length()+s ){
           for (int i = overwrite_string.length() + s; i < my_string.length(); i++){
                    char ch3 = my_string.charAt(i);
                    answer += ch3;
                }
        }
        
        
        return answer;
    }
}

 

이 문제는 먼저 s 값 전까지의 my_string 을 출력해주고.

이후 s 값 부터 overwrite_string  길이 까지 출력해주고

이후 my_string 길이랑 overwrite_string + s  길이가 같지 않으면   my_string에 남은 뒷 값을 출력해주도록 했다!

 

💬   charAt() - 문자 값 하나씩 가져오기

💬 .length() - 문자열 길이 알아내기

 

 

 

💡 좋은 코드 

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        char[] my_chars = my_string.toCharArray();
        char[] overwrite_chars = overwrite_string.toCharArray();
        for (int i=0; i<overwrite_chars.length; i++) {
            my_chars[s + i] = overwrite_chars[i];
        }
        return String.valueOf(my_chars);
    }
}

 

문자 배열을 생성해준다. 문자열 값을 넣어주고

overwrite_string 길이만큼 반복해주지만

my_string 은 시작점을 + s 만큼 뒤로 해준다.

그리고 마지막은 깔끔하게 String.valueOf 를 사용해주는 !!

완전 깔끔하고 좋은 코드이다 😍✨

 

💬toCharArray()  - toCharArray() 메서드는 문자열을 문자 배열로 변환할 때 유용하게 사용

💬String.valueOf() - 스트링 값으로 바꿔줌