IT/알고리즘풀이
[프로그래머스] 문자열 여러 번 뒤집기
돌베기
2024. 12. 23. 12:33
문제 설명 : 문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다. queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다. my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.
class Solution {
fun solution(my_string: String, queries: Array<IntArray>): String {
var answer: String = my_string
queries.forEach {
val startIndex = it[0]
val endIndex = it[1]
val word = answer.substring(startIndex, endIndex+1)
answer = answer.replaceRange(startIndex..endIndex, word.reversed())
}
return answer
}
}
풀이방법 :
// my_string: rermgorpsam, queries : [[2, 3], [0, 7], [5, 9], [6, 10]]
// queries의 사이즈(4) 만큼 반복문 블럭을 생성 후
// queries[i]의 0,1 index 값을 꺼내서 startIndex, endIndex로 담아보자. (it을 반복 돌수있으나 굳이..?)
// 주어진 answer를 startIndex, endIndex+1 만큼 문자를 잘라서 임시 변수인 word에 담는다.
// 그다음 주어진 answer startIndex, endIndex 범위 만큼 replaceRange(startIndex..endIndex, word.reversed())