From f1b6c5d3117c7c48711466c0d642c10fb645a618 Mon Sep 17 00:00:00 2001 From: Gattix Date: Tue, 14 Dec 2021 01:29:53 +0100 Subject: [PATCH] Day 6 --- 2021/day06/day06.hs | 14 ++++++++++++++ 2021/day06/input | 1 + 2021/day06/testinput | 1 + 3 files changed, 16 insertions(+) create mode 100644 2021/day06/day06.hs create mode 100644 2021/day06/input create mode 100644 2021/day06/testinput diff --git a/2021/day06/day06.hs b/2021/day06/day06.hs new file mode 100644 index 0000000..75e548c --- /dev/null +++ b/2021/day06/day06.hs @@ -0,0 +1,14 @@ +import Data.List.Split + +main :: IO () +main = do + input <- map read <$> splitOn "," <$> readFile "day06/input" + print $ day06 input 80 + print $ day06 input 256 + +day06 :: [Int] -> Int -> Int +day06 input days = sum $ map (\x->last $ take x fibFish) i + where i = map ((+3) . (+ days) . abs . subtract 6) input + +fibFish :: [Int] +fibFish = zipWith (+) ((take 7 $ repeat 1) ++ fibFish) ((take 9 $ repeat 0) ++ fibFish) diff --git a/2021/day06/input b/2021/day06/input new file mode 100644 index 0000000..8bed7ab --- /dev/null +++ b/2021/day06/input @@ -0,0 +1 @@ +1,3,4,1,5,2,1,1,1,1,5,1,5,1,1,1,1,3,1,1,1,1,1,1,1,2,1,5,1,1,1,1,1,4,4,1,1,4,1,1,2,3,1,5,1,4,1,2,4,1,1,1,1,1,1,1,1,2,5,3,3,5,1,1,1,1,4,1,1,3,1,1,1,2,3,4,1,1,5,1,1,1,1,1,2,1,3,1,3,1,2,5,1,1,1,1,5,1,5,5,1,1,1,1,3,4,4,4,1,5,1,1,4,4,1,1,1,1,3,1,1,1,1,1,1,3,2,1,4,1,1,4,1,5,5,1,2,2,1,5,4,2,1,1,5,1,5,1,3,1,1,1,1,1,4,1,2,1,1,5,1,1,4,1,4,5,3,5,5,1,2,1,1,1,1,1,3,5,1,2,1,2,1,3,1,1,1,1,1,4,5,4,1,3,3,1,1,1,1,1,1,1,1,1,5,1,1,1,5,1,1,4,1,5,2,4,1,1,1,2,1,1,4,4,1,2,1,1,1,1,5,3,1,1,1,1,4,1,4,1,1,1,1,1,1,3,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,5,1,2,1,1,1,1,1,1,1,1,1 diff --git a/2021/day06/testinput b/2021/day06/testinput new file mode 100644 index 0000000..55129f1 --- /dev/null +++ b/2021/day06/testinput @@ -0,0 +1 @@ +3,4,3,1,2