From 1087a7649b7f2991f788e0bdab069530765e00c2 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 26 Apr 2026 11:01:02 -0400 Subject: [PATCH] do 2017 day 6 --- 2017/src/day06.clj | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2017/src/day06.clj diff --git a/2017/src/day06.clj b/2017/src/day06.clj new file mode 100644 index 0000000..a653682 --- /dev/null +++ b/2017/src/day06.clj @@ -0,0 +1,26 @@ +(ns day06 + (:require [input-manager] + [core :refer [split-whitespace]])) + +(def input + (->> (input-manager/get-input-raw 2017 6) + split-whitespace + (mapv parse-long))) + +(loop [state input + i 0 + seen {}] + (if (contains? seen state) + {:part-one i + :part-two (- i (seen state))} + (let [cnt (apply max state) + idx (->> state + (map-indexed vector) + (filter #(= (second %) cnt)) + ffirst)] + (recur (->> (range cnt) + (map #(mod (+ idx 1 %) (count state))) + (reduce #(update %1 %2 inc) (assoc state idx 0))) + (inc i) + (assoc seen state i))))) +