Coding Practice/프로그래머스 Lv.0

문자열 겹쳐쓰기

ailen22 2024. 1. 18. 18:01

[문제]

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

 

my_string overwrite_string s result
He11oWor1d lloWorl 2 HelloWorld
Program29b8UYP merS123 7 ProgrammerS123

 

 

 

[답]

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        
        //i가 my_string의 길이까지 반복
        for(int i = 0; i < my_string.length(); i++) {
        //i와 s가 같을 때
            if(i==s) {
            //charAt()함수 사용해서 배열쌓기
                for(int j = 0; j < overwrite_string.length(); j++) {
                    answer += overwrite_string.charAt(j);
                    i++;
                }
            }
            //i==s 이외일때 my_string 배열 쌓기
            if(i < my_string.length()) {
                answer += my_string.charAt(i);
            }
        }
        
        return answer;
    }
}

 

[다른사람 풀이]

class Solution1 {
    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 Solution2 {
	public String solution(String my_string, String overwrite_string, int s) {
        String answer = my_string.substring(0, s) + overwrite_string;

        if(my_string.length() > answer.length()) {
            answer += my_string.substring(answer.length());
        }
        return answer;
    }
}

 

substring() : 문자열 자르기

'Coding Practice > 프로그래머스 Lv.0' 카테고리의 다른 글

문자열 곱하기  (0) 2024.01.19
문자열 섞기  (0) 2024.01.19
문자열 돌리기  (0) 2024.01.18
특수문자 출력하기  (0) 2024.01.18
대소문자 바꿔서 출력  (0) 2024.01.18