문제
내가 작성한 정답
class Solution {
public String solution(String my_string, int[][] queries) {
char[] my = my_string.toCharArray();
for(int i=0; i<queries.length; i++){
int s = queries[i][0], e = queries[i][1];
while(s<e){
char t = my[s];
my[s] = my[e];
my[e] = t;
s++;
e--;
}
}
return new String(my);
}
}
다른 사람들의 정답
class Solution {
char[] arr;
public String solution(String my_string, int[][] queries) {
arr = my_string.toCharArray();
for (int[] query : queries) {
reverse(query[0], query[1]);
}
return new String(arr);
}
private void reverse(int s, int e) {
while (s < e) {
char temp = arr[s];
arr[s++] = arr[e];
arr[e--] = temp;
}
}
}
class Solution {
public String solution(String myString, int[][] queries) {
for (int[] arr : queries) {
myString = myString.substring(0, arr[0]) + new StringBuilder(myString.substring(arr[0], arr[1] + 1)).reverse().toString() + myString.substring(arr[1] + 1);
}
return myString;
}
}
Share article