문제 설명
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
제한 사항
my_string은 숫자와 알파벳으로만 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 1,000 0 ≤ s ≤ e < my_string의 길이
나의 코드
class Solution {
public String solution(String my_string, int s, int e) {
char[] arr = my_string.toCharArray();
while(s<e) {
char temp = arr[s];
arr[s] = arr[e];
arr[e] = temp;
s++;
e--;
}
return new String(arr);
}
}
다른 사람 코드
class Solution {
public String solution(String my_string, int s, int e) {
StringBuilder answer = new StringBuilder(my_string.substring(s, e + 1));
answer.reverse();
return my_string.substring(0, s) + answer + my_string.substring(e + 1);
}
}
StringBuilder를 사용한 방법
느낀 점
이전 문자열 여러 번 뒤집기 문제를 참고하여 풀어냈다. char배열로 변환해서 풀어내는 게 핵심