Coding Practice/프로그래머스 Lv.0
문자열 겹쳐쓰기
ailen22
2024. 1. 18. 18:01
[문제]
문자열 my_string, overwrite_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() : 문자열 자르기