From a2c2b728ec6051323ed937f54816089cd2ae9d20 Mon Sep 17 00:00:00 2001 From: "H.J" Date: Fri, 22 Mar 2024 14:30:51 -0400 Subject: Codingquest complete --- codingquest2024/src/day8/solution.gleam | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 codingquest2024/src/day8/solution.gleam (limited to 'codingquest2024/src/day8') diff --git a/codingquest2024/src/day8/solution.gleam b/codingquest2024/src/day8/solution.gleam new file mode 100644 index 0000000..cb4d907 --- /dev/null +++ b/codingquest2024/src/day8/solution.gleam @@ -0,0 +1,26 @@ +import gleam/io +import gleam/int +import gleam/list +import utilities/memo + +const options = [40, 12, 2, 1] + +const distance = 856 + +pub fn main() { + use cache <- memo.create() + solve(distance, cache) + |> io.debug +} + +fn solve(target, cache) { + use <- memo.memoize(cache, target) + case target { + 0 -> 1 + _ -> + options + |> list.filter(fn(n) { n <= target }) + |> list.map(fn(n) { solve(target - n, cache) }) + |> int.sum + } +} -- cgit v1.2.3