parent
c970abf345
commit
0e134abdaa
|
@ -3,15 +3,12 @@ import Control.Arrow
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
input <- parse <$> readFile "input"
|
input <- parse <$> readFile "input"
|
||||||
print $ day09 input
|
print $ (day09 &&& day09 . map reverse) input
|
||||||
|
|
||||||
parse :: String -> [[Int]]
|
parse :: String -> [[Int]]
|
||||||
parse = map (map read . words) . lines
|
parse = map (map read . words) . lines
|
||||||
|
|
||||||
day09 :: [[Int]] -> (Int, Int)
|
day09 :: [[Int]] -> Int
|
||||||
day09 =
|
day09 =
|
||||||
(sum *** sum) .
|
sum .
|
||||||
unzip .
|
map (sum . map last . takeWhile (not . null) . iterate (zipWith (-) =<< tail))
|
||||||
map
|
|
||||||
((sum . map last &&& foldr1 (-) . map head) .
|
|
||||||
takeWhile (not . null) . iterate (zipWith (-) =<< tail))
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user