반응형

class Solution {
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;
}
}
String substring(int index)
: index부터 끝까지 리턴
String my_string = "He11loWor1d";
return my_string.substring(8);
하면 인덱스 8부터 마지막까지 문자 리턴 ➡ 1d
| 문자열 | H | e | 1 | 1 | o | W | o | r | 1 | d |
| 인덱스 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
String substring(int start, int end)
: start부터 (end-1)까지 리턴
String my_string = "He11loWor1d";
return my_string.substring(2,6);
하면 인덱스 2부터 5 (6-1)까지 문자 리턴 ➡ 11oW
| 문자열 | H | e | 1 | 1 | o | W | o | r | 1 | d |
| 인덱스 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
다른 풀이
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) {
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);
}
}
my_string.toCharArray() ➡ char 배열로
String.valueOf(my_chars);
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
StringBuilder sb = new StringBuilder(my_string);
sb.replace(s, s + overwrite_string.length(), overwrite_string);
return sb.toString();
}
}
반응형
'코딩테스트' 카테고리의 다른 글
| [프로그래머스/JAVA] 문자열 섞기 (0) | 2025.07.16 |
|---|---|
| [프로그래머스/JAVA] 분수의 덧셈(최대공약수 - 유클리드 호제) (1) | 2025.07.15 |
| [프로그래머스/JAVA] 코딩 기초 트레이닝 > 홀짝 구분하기 (0) | 2025.07.15 |
| [프로그래머스/JAVA] 코딩 기초 트레이닝 > 문자열 돌리기 (0) | 2025.07.15 |
| [프로그래머스/JAVA] 코딩 기초 트레이닝 > 문자열 붙여서 출력하기 (0) | 2025.07.15 |