Hackerrank – String Compression
Hackerrank – Popis problému Celý popis zadania sa nacháza – Hackerrank. Riešenie Pozrieť implementáciu. Postup je daný v zadaní. Vytvoril som riešenie v týchto programovacích jazykoch: Scala Všetky riešenia sú dostupné aj na mojom GitHub profile. Scala
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
object Solution extends App { val line = Source.stdin.getLines().toList.head val subs = uniformSubstrings(line) val substringCompressed = subs.map(s => { val length = s.length if(length > 1) { s.head.toString + length } else { s.head.toString } }) println(substringCompressed.mkString("")) def uniformSubstrings(s: String): List[String] = { if(s.length <= 0) { return Nil } val c = s.charAt(0) val substring = s.takeWhile(_ == c) substring :: uniformSubstrings(s.drop(substring.length)) } } |