[JAVA] 프로그래머스 : 문자열 여러 번 뒤집기

조예빈·2024년 8월 13일
0

Coding Test

목록 보기
107/138

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;
    }
}

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글