코딩하는 개굴이

[HackerRank] Super Reduced String (Kotlin) 본문

알고리즘/HackerRank

[HackerRank] Super Reduced String (Kotlin)

개굴이모자 2022. 7. 9. 16:17
반응형

Super Reduced String : https://www.hackerrank.com/challenges/reduced-string/problem

 

Super Reduced String | HackerRank

Given a string, repeatedly remove adjacent pairs of matching characters and then print the reduced result.

www.hackerrank.com

2개 이상 중복되는 캐릭터가 있으면 삭제하는 문제이다. 재귀로 반복적인 확인을 수행하면 해결할 수 있다.

fun superReducedString(s: String): String {
    // Write your code here
    for (i in s.indices) {
        if (i == s.length-1) {
            return s
        }

        if (s[i] == s[i+1]) {
            val beforeString = if (i > 0) {
                s.substring(0,i)
            } else {
                ""
            }

            val afterString = if (i+2 == s.length) {
                ""
            } else {
                s.substring(i+2, s.length)
            }
            return superReducedString(beforeString + afterString)
        }
    }

    return s
}

fun main(args: Array<String>) {
    val s = readLine()!!

    var result = superReducedString(s)

    if (result.isEmpty()) {
        result = "Empty String"
    }

    println(result)
}
반응형

'알고리즘 > HackerRank' 카테고리의 다른 글

[HackerRank] Extra Long Factorials (Kotlin)  (0) 2022.07.30
[HackerRank] Compare Triplets (Kotlin)  (0) 2022.07.09
Comments