https://school.programmers.co.kr/learn/courses/30/lessons/181913
substring을 이용하여 문자열을 앞, 중간, 뒤로 나눈 후 합쳐주면 되는 것이다. 이 때, 중간 문자열을 역순으로 reverse해 주면 된다. 나는 for문을 활용하여 직접 구현해 주었다.
이 때, reverse가 반영된 문자열을 가지고 또 reverse를 해 주어야 한다. 나는 이것을 놓쳐서 시간이 좀 소요됐었다ㅠㅠ
바깥 for문이 끝난 후에는 모든 이중배열을 돌았다는 뜻이므로 최종 my_string값(reverse가 반영된 문자열)을 return 해 주면 된다.
class Solution {
public String solution(String my_string, int[][] queries) {
//substring으로 범위 나누기
for(int i=0; i<queries.length; i++){
int start = queries[i][0];
int end = queries[i][1];
String frontStr = my_string.substring(0, start); //처음부터 start까지
String midStr = "";
String endStr = my_string.substring(end+1, my_string.length()); //end부터 끝까지
for(int j=end; j>=start; j--){
midStr = midStr + my_string.charAt(j);
}
my_string = frontStr + midStr + endStr;
}
return my_string;
}
}