문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
입출력 예 #1
예제 1번의 my_string에서 인덱스 s=2부터 overwrite_string의 길이만큼에 해당하는 부분은
"11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.
입출력 예 #2
예제 2번의 my_string에서 인덱스 s=7부터 overwrite_string의 길이만큼에 해당하는 부분은
"29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.
풀이 1) toCharArray()
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
char a[] = my_string.toCharArray();
for(int i=0;i<s;i++){
answer+=""+a[i];
}
answer+=overwrite_string;
for(int i=overwrite_string.length()+s;i<my_string.length();i++){
answer+=""+a[i];
}
return answer;
}
}
풀이 1-1) overwrite도 쪼개서 결합하는 법
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);
}
}
풀이 2) substring()
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;
}
}
substring
substring(시작 인덱스, 끝 인덱스)
문자열 자르기
'programmers' 카테고리의 다른 글
[JAVA] 모스부호 (1) spilt() (1) | 2024.03.12 |
---|---|
[JAVA] ☆ 순서쌍의 갯수 (0) | 2024.03.12 |
[JAVA] 배열 자르기 Arrays.copyOfRange (0) | 2024.03.11 |
[JAVA] 대소문자 바꿔서 출력하기 (0) | 2024.03.11 |
[JAVA] 문자열 안에 문자열 contains() (0) | 2024.03.11 |