길이가 같은 문자열 배열 my_strings와 이차원 정수 배열 parts가 매개변수로 주어집니다. parts[i]는 [s, e] 형태로, my_string[i]의 인덱스 s부터 인덱스 e까지의 부분 문자열을 의미합니다. 각 my_strings의 원소의 parts에 해당하는 부분 문자열을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
이차원 배열만 보고 확장 for문으로 접근했다가 아래와 같은 에러를 발견했다.
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: begin 7, end 8, length 6
그제서야 문제에서 '길이가 같은'이라고 콕 짚은 이유를 깨닫고, String[] my_strings와 int[][] parts가 함께 루프를 돌 수 있도록 코드를 변경하였다.
class Solution {
public String solution(String[] my_strings, int[][] parts) {
String answer = "";
for(int[] part : parts){
int s = part[0];
int e = part[1];
for(int i=0;i<my_strings.length;i++){
answer += my_strings[i].substring(s,e+1);
}
}
return answer;
}
}
class Solution {
public String solution(String[] my_strings, int[][] parts) {
String answer = "";
for(int i=0;i<my_strings.length;i++){
int s = parts[i][0];
int e = parts[i][1];
answer += my_strings[i].substring(s,e+1);
}
return answer;
}
}
