프로그래밍/코딩
프로그래머스 - 문자열 여러 번 뒤집기.
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 = {{2, 3}, {0, 7}, {5, 9}, {6, 10}};
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 |
반응형