Solution 1) 내 풀이
class Solution {
    public String solution(String my_string, int s, int e) {
        StringBuilder sb = new StringBuilder(my_string);
        String sub = sb.substring(s, e + 1);
        StringBuilder reverse = new StringBuilder(sub).reverse();
        sb.replace(s, e + 1, reverse.toString());
        
        return sb.toString();
    }
}

 

1) 주어진 문자열 StringBuilder 만들기 (sb)
2) 뒤집을 substring 임시 문자열 만들기 (sub) > 인덱스 구간( s 부터 e까지) 문자열에 넣기
3) reverse StringBuilder 만들기 > 2에서 만든 뒤집을 구간을 reverse 메서드로 뒤집기
4) 1에서 만든 StringBuilder sb에 3에서 만든 reverse 구간 바꾸기 (replace 메서드)
(4에서 toString();은 없어도 상관 없다. 컴파일러가 자동으로 String으로 변환 해주지만 가독성 및 혼동 방지를 위해 들어간다.)

 

+ Recent posts