Play with syntax
This commit is contained in:
@@ -25,4 +25,4 @@ parse = do done <- isEOF
|
||||
else do line <- getLine
|
||||
let card = parseCard line
|
||||
otherCards <- parse
|
||||
return (card: otherCards)
|
||||
return $ card: otherCards
|
||||
|
||||
@@ -6,7 +6,7 @@ import qualified Part2
|
||||
|
||||
|
||||
main = do cards <- parse
|
||||
let part1Res = sum (Part1.getAllPoints cards)
|
||||
let part1Res = sum $ Part1.getAllPoints cards
|
||||
print part1Res
|
||||
let part2Res = sum (Part2.getNCopies cards)
|
||||
let part2Res = sum $ Part2.getNCopies cards
|
||||
print part2Res
|
||||
|
||||
@@ -9,7 +9,7 @@ getNWinningNumbers winningNumbers (n: t) | n `elem` winningNumbers = 1 + getNWin
|
||||
| otherwise = getNWinningNumbers winningNumbers t
|
||||
|
||||
getPoints :: Card -> Int
|
||||
getPoints card = let nWinningNumbers = getNWinningNumbers (winningNumbers card) (numbers card)
|
||||
getPoints card = let nWinningNumbers = getNWinningNumbers (winningNumbers card) $ numbers card
|
||||
in if nWinningNumbers == 0
|
||||
then 0
|
||||
else 2 ^ (nWinningNumbers - 1)
|
||||
|
||||
@@ -13,7 +13,7 @@ updateNCopies 0 card otherCards = otherCards
|
||||
updateNCopies n card (c: t) = c {nCopies = nCopies card + nCopies c}: updateNCopies (n - 1) card t
|
||||
|
||||
updateCopies :: Card -> [Card] -> [Card]
|
||||
updateCopies card otherCards = let nWinningNumbers = getNWinningNumbers (winningNumbers card) (numbers card)
|
||||
updateCopies card otherCards = let nWinningNumbers = getNWinningNumbers (winningNumbers card) $ numbers card
|
||||
in updateNCopies nWinningNumbers card otherCards
|
||||
|
||||
updateAllCopies :: [Card] -> [Card]
|
||||
@@ -21,4 +21,4 @@ updateAllCopies [] = []
|
||||
updateAllCopies (c: t) = c: updateAllCopies (updateCopies c t)
|
||||
|
||||
getNCopies :: [Card] -> [Int]
|
||||
getNCopies cards = map nCopies (updateAllCopies cards)
|
||||
getNCopies cards = map nCopies $ updateAllCopies cards
|
||||
|
||||
Reference in New Issue
Block a user