Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

David의 블로그

프로그래머스 - 문자열 여러 번 뒤집기. 본문

프로그래밍/코딩

프로그래머스 - 문자열 여러 번 뒤집기.

David 리 2024. 6. 30. 11:10

문제 설명>

문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다. 
queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다. 
my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.

 

내 생각>

String 변수들을 for문으로 순회하여, 문자열들을 조합할 수는 있었겠지만, 길어지는게 싫어서

StringBuilder를 이용했다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 문자열 여러 번 뒤집기
//        "rermgorpsam"    [{2, 3}, {0, 7}, {5, 9}, {6, 10}]    "programmers"
//        "abab"             [{2, 3}]
        String my_string ="rermgorpsam"
        int[][] queries = {{23}, {07}, {59}, {610}};
        String answer = "";
        
        int strIdx = 0;
        int endIdx = 0;
        for (int i = 0; i < queries.length; i++) {
            for (int j = 0; j < queries[i].length; j++) {
                strIdx = queries[i][j];
                endIdx = queries[i][j + 1];
                break;
            }
           StringBuilder sb = new StringBuilder(my_string);
            StringBuilder reverStr = new StringBuilder(my_string.substring(strIdx,endIdx + 1));
            sb.replace(strIdx, endIdx + 1, reverStr.reverse().toString());
            my_string = sb.toString();
            System.out.println(my_string);
        }
cs