18 lines
685 B
Haskell
18 lines
685 B
Haskell
module Part2 where
|
|
|
|
import Commons
|
|
|
|
|
|
getMinCubesRound :: [Round] -> Round
|
|
getMinCubesRound [round] = round
|
|
getMinCubesRound (round: otherRound: t) = getMinCubesRound (Round {red = max (red round) (red otherRound),
|
|
green = max (green round) (green otherRound),
|
|
blue = max (blue round) (blue otherRound)}: t)
|
|
|
|
getPowerGame :: Game -> Int
|
|
getPowerGame Game{rounds=rounds} = let minRound = getMinCubesRound rounds
|
|
in red minRound * green minRound * blue minRound
|
|
|
|
getPower :: [Game] -> [Int]
|
|
getPower = map getPowerGame
|