Files
advent-of-code-2023/day07/Part1.hs
2023-12-07 15:28:32 +01:00

16 lines
481 B
Haskell

module Part1 where
import Commons
import Data.List (sort, sortOn)
getHandValue :: Hand -> HandValue
getHandValue hand = HandValue {hand = hand, value = 100 ^ 5 * (getHandValueTypeFromSorted . sort) (values hand)
+ getHandSecondValue (values hand)}
sortHands :: [Hand] -> [Hand]
sortHands = map hand . sortHandValues . map getHandValue
getTotalWinnings :: [Hand] -> Int
getTotalWinnings = getWinningsFromSorted 1 . sortHands