From 720f1f8559d609aafc6b873a23d00f71709f3e1d Mon Sep 17 00:00:00 2001 From: Daniele Fucini Date: Wed, 11 Dec 2024 21:04:50 +0100 Subject: [PATCH] Day 11, Part 1 --- Day11/puzzle1.hs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Day11/puzzle1.hs diff --git a/Day11/puzzle1.hs b/Day11/puzzle1.hs new file mode 100644 index 0000000..3d17146 --- /dev/null +++ b/Day11/puzzle1.hs @@ -0,0 +1,15 @@ +blinkStone :: Int -> [Int] +blinkStone 0 = [1] +blinkStone s = let ss = show s + nDigit = length ss + in if even nDigit + then map read [take (nDigit `div` 2) ss, drop (nDigit `div` 2) ss] + else [s * 2024] + +blink :: Int -> [Int] -> [Int] +blink 0 xs = xs +blink n xs = blink (n - 1) $ concatMap blinkStone xs + +main = do + contents <- words <$> readFile "day11.txt" + print . length . blink 25 $ map read contents