본문 바로가기

Algorithm

문자열 압축

반응형
fun compressString(s: String): String {
    if (s.isEmpty()) return ""
    val compressed = StringBuilder()
    var count = 1
    for (i in 1 until s.length) {
        if (s[i] == s[i - 1]) {
            count++
        } else {
            compressed.append(s[i - 1]).append(count)
            count = 1
        }
    }
    compressed.append(s.last()).append(count)
    return compressed.toString()
}

fun main() {
    println(compressString("aaabbbbccdddda")) // "a3b4c2d4a1"
}
반응형

'Algorithm' 카테고리의 다른 글

공백으로 단어 뒤집기  (0) 2023.10.29
문자열의 모든 순열찾기  (0) 2023.10.29
가장 긴 공통 접두사 찾기  (0) 2023.10.29
회문확인  (0) 2023.10.29
애너그램 확인  (0) 2023.10.29