From 233a9369c89bb0ec3f24457331968731a64e4d4a Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Thu, 19 Mar 2026 15:39:33 +0100 Subject: [PATCH] Problem 17 --- .../scala/ninetyNineScalaProblems/Problem17.scala | 7 +++++++ .../ninetyNineScalaProblems/Problem17Suite.scala | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 src/main/scala/ninetyNineScalaProblems/Problem17.scala create mode 100644 src/test/scala/ninetyNineScalaProblems/Problem17Suite.scala diff --git a/src/main/scala/ninetyNineScalaProblems/Problem17.scala b/src/main/scala/ninetyNineScalaProblems/Problem17.scala new file mode 100644 index 0000000..9c771c0 --- /dev/null +++ b/src/main/scala/ninetyNineScalaProblems/Problem17.scala @@ -0,0 +1,7 @@ +package ninetyNineScalaProblems + +import scala.annotation.tailrec + +object Problem17: + def splitList(n: Int, list: List[Any]): Tuple2[List[Any],List[Any]] = + (Problem18.slice(0, n, list), Problem18.slice(n, list.length, list)) \ No newline at end of file diff --git a/src/test/scala/ninetyNineScalaProblems/Problem17Suite.scala b/src/test/scala/ninetyNineScalaProblems/Problem17Suite.scala new file mode 100644 index 0000000..97d292b --- /dev/null +++ b/src/test/scala/ninetyNineScalaProblems/Problem17Suite.scala @@ -0,0 +1,13 @@ +package ninetyNineScalaProblems + +class Problem17Suite extends munit.FunSuite: + List( + ((0, List(1, 2, 3, 4)), (List(), List(1, 2, 3, 4))), + ((1, List(1, 2, 3, 4)), (List(1), List(2, 3, 4))), + ((2, List(1, 2, 3, 4)), (List(1, 2), List(3, 4))), + ((3, List(1, 2, 3, 4)), (List(1, 2, 3), List(4))), + ((4, List(1, 2, 3, 4)), (List(1, 2, 3, 4), List())), + ).foreach: + case ((firstPartlength, list), expected) => + test(s"splitList returns [$expected]"): + assertEquals(Problem17.splitList(firstPartlength, list), expected) \ No newline at end of file