From 9ef10406c067d0a0532d609212a94519af402b87 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Tue, 7 Mar 2023 00:19:48 +0100 Subject: Added a few advent of code solutions --- samples/aoc/2017/01/solve.bruijn | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 samples/aoc/2017/01/solve.bruijn (limited to 'samples/aoc/2017/01/solve.bruijn') diff --git a/samples/aoc/2017/01/solve.bruijn b/samples/aoc/2017/01/solve.bruijn new file mode 100644 index 0000000..dac0ed6 --- /dev/null +++ b/samples/aoc/2017/01/solve.bruijn @@ -0,0 +1,23 @@ +:import std/Combinator . +:import std/String . +:import std/Number . +:import std/Char C +:import std/Pair P + +self [[((zip 0) ∘ (drop 1) ∘ cycle) 0]] ⧗ Number → (List Number) → (List (Pair Number Number)) + +part1 sum ∘ eqs ∘ pairs + sum foldl [[^0 + 1]] (+0) + eqs filter (P.uncurry …=?…) + pairs self (+1) + +part2 [(sum ∘ eqs ∘ pairs) 0] + sum foldl [[^0 + 1]] (+0) + eqs filter (P.uncurry …=?…) + pairs self /²(length 0) + +:test (part1 ((+1) : ((+1) : ((+2) : {}(+2))))) ((+3)) + +main [parts nums] + nums C.number! <$> ^(lines 0) + parts [(part1 0) : (part2 0)] -- cgit v1.2.3