This commit is contained in:
George Thomas 2025-12-02 11:15:49 +00:00
parent 3601933bd0
commit bd4d350e76

View File

@ -55,15 +55,13 @@ puzzle1 =
{ number = 1
, parser = flip sepEndBy newline $ (,) <$> ((char 'L' $> L) <|> (char 'R' $> R)) <*> (Inc <$> Lex.decimal)
, parts =
[
T.show
[ T.show
. sum
. flip evalState 50
. traverse \(d, i) -> state \p ->
let (_, p') = step i d p
in (Count if p' == 0 then 1 else 0, p')
,
T.show
, T.show
. sum
. flip evalState 50
. traverse \(d, i) -> state \p ->
@ -102,8 +100,7 @@ puzzle2 =
{ number = 2
, parser = (<* newline) $ flip sepBy (char ',') $ (,) <$> (Lex.decimal <* char '-') <*> Lex.decimal
, parts =
[
T.show
[ T.show
. sum
. concatMap
(mapMaybe (\n -> guard (isRepetition n) $> n) . uncurry enumFromTo)