Moon_Dev_Blog :)

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

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())

Comments