[알고리즘문제풀기] 문자열 여러 번 뒤집기

silver's avatar
Oct 05, 2025
[알고리즘문제풀기] 문자열 여러 번 뒤집기

문제

내가 작성한 정답

class Solution { public String solution(String my_string, int[][] queries) { char[] c = my_string.toCharArray(); for(int i=0; i<queries.length; i++){ int s = queries[i][0], e = queries[i][1]; while (s<e){ char a = c[s]; c[s++] = c[e]; c[e--] = a; } } return new String(c); } }

다른 사람들의 정답

class Solution { char[] arr; public String solution(String my_string, int[][] queries) { arr = my_string.toCharArray(); for (int[] query : queries) { reverse(query[0], query[1]); } return new String(arr); } private void reverse(int s, int e) { while (s < e) { char temp = arr[s]; arr[s++] = arr[e]; arr[e--] = temp; } } } class Solution { static StringBuilder rvr(StringBuilder s, int l, int r) { StringBuilder t = new StringBuilder(s.substring(l, r + 1)); t.reverse(); s.replace(l, r + 1, t.toString()); return s; } public String solution(String my_string, int[][] queries) { StringBuilder answer = new StringBuilder(my_string); for (int[] q : queries) answer = rvr(answer, q[0], q[1]); return answer.toString(); } }
Share article

silver