코테
프로그래머스 기초 - 문자열 여러번 뒤집기
66krap
2024. 2. 15. 19:36
문제
문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다. queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다. my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.
class Solution {
public String solution(String my_string, int[][] queries) {
char[] stringList = my_string.toCharArray(); // my_string을 char 데이터 타입의 배열로
for (int i = 0; i < queries.length; i+=1) {
int[] list = new int[2]; // quries의 안에 값을 담기위한 것
int count = 0;
for (int j = 0; j < queries[i].length; j += 1) {
list[count] = queries[i][j]; // 쿼리 내부의 값 대입
count++; 조건을 위해서
}
int size = list[1]-list[0]+1;
char[] newList = new char[size];
int newCount = 0;
if (count == 2) {
for (int l = list[1]; l >= list[0]; l--) {
newList[newCount] = stringList[l]; // 역순으로 정렬하는거라 역순으로 받게
newCount++;
}
}
int second = 0;
for (int z = 0; z < stringList.length; z++) {
if (z >= list[0] && z <= list[1]) {
stringList[z] = newList[second]; // 역순으로 정렬한 값들을 집어넣기 위한것
second++;
}
}
}
String answer = "";
for (int i = 0; i < stringList.length; i++) {
answer += stringList[i]; // char 배열을 string으로 만들기 위한 노력
}
return answer;
}
}
풀고 다른 사람들 풀이를 보니 더 간단하게 하는 사람들이 많았다..
하지만 머 나름대로 노력한 결과였다