more day09 golfing

p2 is just reverse p1 lol
This commit is contained in:
Gattix 2023-12-09 18:41:37 +01:00
parent c970abf345
commit 0e134abdaa

View File

@ -3,15 +3,12 @@ import Control.Arrow
main :: IO ()
main = do
input <- parse <$> readFile "input"
print $ day09 input
print $ (day09 &&& day09 . map reverse) input
parse :: String -> [[Int]]
parse = map (map read . words) . lines
day09 :: [[Int]] -> (Int, Int)
day09 :: [[Int]] -> Int
day09 =
(sum *** sum) .
unzip .
map
((sum . map last &&& foldr1 (-) . map head) .
takeWhile (not . null) . iterate (zipWith (-) =<< tail))
sum .
map (sum . map last . takeWhile (not . null) . iterate (zipWith (-) =<< tail))