Files
advent-of-code-2023/day02/Part2.hs

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