문자열 여러번 뒤집기
문제
문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다. queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다. my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.
풀이
import java.util.*;
class Solution {
public String solution(String my_string, int[][] queries) {
String answer = my_string;
int stringLength = my_string.length();
for (int i = 0; i < queries.length; i++) {
int[] query = queries[i];
int s = query[0];
int e = query[1];
String reverseString = new StringBuilder(answer.substring(s, e + 1)).reverse().toString();
if (s == 0 && e == stringLength - 1) {
answer = reverseString;
} else if (s == 0) {
answer = reverseString + answer.substring(e + 1);
} else if (e == stringLength - 1) {
answer = answer.substring(0, s) + reverseString;
} else {
answer = answer.substring(0, s) + reverseString + answer.substring(e + 1);
}
}
return answer;
}
}
Java
복사