AoC/2023/day09/day09.hs
Gattix 0e134abdaa more day09 golfing
p2 is just reverse p1 lol
2023-12-09 18:41:37 +01:00

15 lines
321 B
Haskell

import Control.Arrow
main :: IO ()
main = do
input <- parse <$> readFile "input"
print $ (day09 &&& day09 . map reverse) input
parse :: String -> [[Int]]
parse = map (map read . words) . lines
day09 :: [[Int]] -> Int
day09 =
sum .
map (sum . map last . takeWhile (not . null) . iterate (zipWith (-) =<< tail))