💡 직접 푼 코드
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() - 스트링 값으로 바꿔줌