2015 Day 10 in Haskell

This commit is contained in:
germax26 2024-12-03 07:10:01 +11:00
parent 931c038c43
commit 883cdcc797
Signed by: germax26
SSH Key Fingerprint: SHA256:N3w+8798IMWBt7SYH8G1C0iJlIa2HIIcRCXwILT5FvM

14
2015/day10/day10.hs Normal file
View File

@ -0,0 +1,14 @@
import Aoc
import Data.List ( group, sort )
step :: String -> String
step = concat . concatMap (\cs -> [show $ length cs, [head cs]]) . group
part1 :: String -> (Int, String)
part1 x = (length after40, after40)
where after40 = iterate step x !! 40
part2 :: p -> String -> Int
part2 _ after40 = length (iterate step after40 !! 10) -- only 10 more needed
main = aocMain' single part1 part2