Problem 23

This commit is contained in:
2026-03-19 15:39:45 +01:00
parent 96ab3811fa
commit 5935fcca99
2 changed files with 20 additions and 0 deletions
@@ -0,0 +1,7 @@
package ninetyNineScalaProblems
import scala.util.Random
object Problem23:
def randomSelect(n: Int, list: List[Any]): List[Any] =
Problem18.slice(0, n, Random.shuffle(list))
@@ -0,0 +1,13 @@
package ninetyNineScalaProblems
class Problem23Suite extends munit.FunSuite:
List(
((1, List(1)), 1),
((0, List()), 0),
((0, List(1)), 0),
((0, List(1, 2, 3, 4, 5)), 0),
((3, List(1, 2, 3, 4, 5)), 3),
).foreach:
case ((n, list), expectedLength) =>
test(s"randomSelect returns [$expectedLength]"):
assertEquals(Problem23.randomSelect(n, list).length, expectedLength)