From b01ce98533979e178233bd309f8293d86ba5707f Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Thu, 19 Mar 2026 15:39:41 +0100 Subject: [PATCH] Problem 21 --- .../scala/ninetyNineScalaProblems/Problem21.scala | 5 +++++ .../ninetyNineScalaProblems/Problem21Suite.scala | 15 +++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 src/main/scala/ninetyNineScalaProblems/Problem21.scala create mode 100644 src/test/scala/ninetyNineScalaProblems/Problem21Suite.scala diff --git a/src/main/scala/ninetyNineScalaProblems/Problem21.scala b/src/main/scala/ninetyNineScalaProblems/Problem21.scala new file mode 100644 index 0000000..f6403e0 --- /dev/null +++ b/src/main/scala/ninetyNineScalaProblems/Problem21.scala @@ -0,0 +1,5 @@ +package ninetyNineScalaProblems + +object Problem21: + def insertAt(value: Any, n: Int, list: List[Any]): List[Any] = + Problem18.slice(0, n, list) ::: value :: Problem18.slice(n, list.length, list) \ No newline at end of file diff --git a/src/test/scala/ninetyNineScalaProblems/Problem21Suite.scala b/src/test/scala/ninetyNineScalaProblems/Problem21Suite.scala new file mode 100644 index 0000000..81489d0 --- /dev/null +++ b/src/test/scala/ninetyNineScalaProblems/Problem21Suite.scala @@ -0,0 +1,15 @@ +package ninetyNineScalaProblems + +import scala.compiletime.ops.boolean + +class Problem21Suite extends munit.FunSuite: + List( + ((1, 0, List(1, 2, 3, 4)), List(1, 1, 2, 3, 4)), + ((1, 1, List(1, 2, 3, 4)), List(1, 1, 2, 3, 4)), + ((1, 3, List(1, 2, 3, 4)), List(1, 2, 3, 1, 4)), + ((1, 0, List(1)), List(1, 1)), + ((1, 0, List()), List(1)), + ).foreach: + case ((value, n, list), expected) => + test(s"insertAt returns [$expected]"): + assertEquals(Problem21.insertAt(value, n, list), expected) \ No newline at end of file