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