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 +))