Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
14
Task/Run-length-encoding/Kotlin/run-length-encoding.kotlin
Normal file
14
Task/Run-length-encoding/Kotlin/run-length-encoding.kotlin
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
tailrec fun runLengthEncoding(text:String,prev:String=""):String {
|
||||
if (text.isEmpty()){
|
||||
return prev
|
||||
}
|
||||
val initialChar = text.get(0)
|
||||
val count = text.takeWhile{ it==initialChar }.count()
|
||||
return runLengthEncoding(text.substring(count),prev + "$count$initialChar" )
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
assert(runLengthEncoding("TTESSST") == "2T1E3S1T")
|
||||
assert(runLengthEncoding("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW")
|
||||
== "12W1B12W3B24W1B14W")
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue