문제 (프로그래머스 181943번 : 문자열 겹쳐쓰기)
181943 : 문자열 겹쳐쓰기
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
i < s
, 2) s < i < overwrite_string.length()
3) overwrite_string < i <= my_string.length()
int cnt = my_string.length();
import java.util.*;
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
// 답변을 담을 리스트 선언
List<Character> answerB = new ArrayList<>();;
// 총 for문을 도는 횟수
int cnt = my_string.length();
int limit = s + overwrite_string.length();
// 반복문을 돌며 answer에 character 넣기
for(int i = 0 ; i < cnt ; i++){
// s 보다 작을때는 my_string에서 추출
if( i < s ){
answerB.add(my_string.charAt(i));
// s 보다 클때는 overwrite_string에서 추출
}else if( s <= i && i < limit){
answerB.add(overwrite_string.charAt(i-s));
}
// 나머지가 있을경우 my_string으로 채움
else{
answerB.add(my_string.charAt(i));
}
}
// answer는 list 형태기때문에 string으로 변환 필요
String answerA = "";
for(char c : answerB){
answerA += c;
}
return answerA;
}
}
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(시작점, 끝점) : 시작점 ~ 끝점 -1 까지 문자열을 잘라서 추가를 하게 된다.
String answerA = "";
for(char c : answerB){
answerA += c;
}
문자열 더하기를 사용하기!
나.. 너무 바보같이 풀었잖아..?