Files
99-problems-scala/src/main/scala/ninetyNineScalaProblems/Problem10.scala
T
2026-03-19 15:39:23 +01:00

15 lines
512 B
Scala

package ninetyNineScalaProblems
import scala.annotation.tailrec
object Problem10:
def runLengthEncode(list: List[Any]): List[Tuple2[Int, Any]] =
@tailrec
def loop(cursor: List[List[Any]], acc: List[Tuple2[Int, Any]]): List[Tuple2[Int, Any]] =
cursor match
case d :: tail =>
loop(tail, (d.length, d(0)) :: acc)
case Nil =>
acc
loop(Problem09.consecutiveDuplicatesIntoSublists(list), List()).reverse