From 7f4c26085568b4b5befda7097f0efea29d9295e3 Mon Sep 17 00:00:00 2001 From: ajet Date: Thu, 4 Dec 2025 11:06:46 -1000 Subject: [PATCH] do day3 --- 2025/src/day03.clj | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2025/src/day03.clj diff --git a/2025/src/day03.clj b/2025/src/day03.clj new file mode 100644 index 0000000..7d48c45 --- /dev/null +++ b/2025/src/day03.clj @@ -0,0 +1,26 @@ +(ns day03 + (:require input-manager)) + +(def input (input-manager/get-input 2025 3)) + +(defn max-joltage [bank num-batteries-to-activate] + (let [len (count bank)] + (loop [n num-batteries-to-activate + acc "" + idx-iter 0] + (let [search-space (.substring bank idx-iter (- len (dec n))) + max-char (apply max (map int search-space)) + max-char-idx (.indexOf bank max-char idx-iter)] + (if (= n 1) + (parse-long (str acc (char max-char))) + (recur (dec n) + (str acc (char max-char)) + (inc max-char-idx))))))) + +(->> input + (map #(max-joltage % 2)) + (apply +)) + +(->> input + (map #(max-joltage % 12)) + (apply +))