parent
c970abf345
commit
0e134abdaa
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue
Block a user