This commit is contained in:
2023-12-04 10:31:36 +01:00
parent fd46f6dfa2
commit e746e22b0b
5 changed files with 90 additions and 0 deletions

18
day04/Part1.hs Normal file
View File

@@ -0,0 +1,18 @@
module Part1 where
import Commons
getNWinningNumbers :: [Int] -> [Int] -> Int
getNWinningNumbers _ [] = 0
getNWinningNumbers winningNumbers (n: t) | n `elem` winningNumbers = 1 + getNWinningNumbers winningNumbers t
| otherwise = getNWinningNumbers winningNumbers t
getPoints :: Card -> Int
getPoints card = let nWinningNumbers = getNWinningNumbers (winningNumbers card) (numbers card)
in if nWinningNumbers == 0
then 0
else 2 ^ (nWinningNumbers - 1)
getAllPoints :: [Card] -> [Int]
getAllPoints = map getPoints