def findWinner(candidates: Seq[String], rotations: Int): Option[String] = { if (candidates.isEmpty || rotations <= 0) None else { val numCandidates = candidates.length val randomIndexes = List.fill(rotations)(scala.util.Random.nextInt(numCandidates)) val meanOp = randomIndexes.drop(rotations / 2).headOption meanOp.map(candidates(_)) } }