enum DayOfWeek:
case Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
def isWeekend(day: DayOfWeek): Boolean = day match
case DayOfWeek.Saturday | DayOfWeek.Sunday => true
case _ => false
// Test your function
println(isWeekend(DayOfWeek.Saturday)) // Output: true
println(isWeekend(DayOfWeek.Wednesday)) // Output: false
enum TrafficLight(val color: String):
case Red extends TrafficLight("red")
case Yellow extends TrafficLight("yellow")
case Green extends TrafficLight("green")
// Test
println(TrafficLight.Red.color) // Output: red
def countLights(lights: List[TrafficLight]): Unit =
val counts = lights.groupBy(identity).view.mapValues(_.size).toMap
println(counts)
// Test your function
val lights = List(TrafficLight.Red, TrafficLight.Yellow, TrafficLight.Red, TrafficLight.Green, TrafficLight.Yellow)
countLights(lights) // Output: Map(Red -> 2, Yellow -> 2, Green -> 1)