this repo has no description

Day 7 Part 1 Proper

Changed files
+16 -22
src
aoc2025
+16 -22
src/aoc2025/day7.clj
··· 11 11 (map #(map first %)))})) 12 12 13 13 (defn- split-beams [beams splitters] 14 - (->> (mapcat #(if ((set splitters) %) ((juxt dec inc) %) [%]) beams) 15 - set 16 - vec 17 - sort)) 18 - 19 - (defn- unsplit-beams [in-beams out-beams] 20 - ((comp sort vec) (set/intersection (set in-beams) (set out-beams)))) 14 + (set (mapcat #(if ((set splitters) %) ((juxt dec inc) %) [%]) beams))) 21 15 22 - 23 - ; [7] [7] => [6 8] 24 - ; [6 8] [6 8] => [5 7 7 9] => [5 7 9] 25 - 26 - (let [grid (->> "07.txt" 27 - util/read-file 28 - parse-file) 29 - ;; [first-row & rest-rows] grid 30 - ;; starting-point (get-start first-row) 31 - ;; splitter-indexes (map (partial keep-indexed #(if (= %2 \^) [%1 %2] nil)) rest-rows) 32 - [_ & beam-splits :as all-beams] (reductions split-beams (:start grid) (:splitters grid)) 16 + ;; (defn- unsplit-beams [in-beams out-beams] 17 + ;; ((comp sort vec) (set/intersection (set in-beams) (set out-beams)))) 33 18 34 - ] 35 - 19 + (defn- part1 [{start :start splitters :splitters}] 36 20 (->> (map (fn [in-beams splitters] 37 21 (count (set/intersection (set in-beams) (set splitters)))) 38 - (-> all-beams drop-last) 39 - (:splitters grid)) 22 + (->> splitters (reductions split-beams start) drop-last) 23 + splitters) 40 24 (reduce +))) 25 + 26 + (defn- part2 [_] nil) 27 + 28 + (defn solve 29 + ([] (solve "07.txt")) 30 + ([fname] 31 + (->> fname util/read-file parse-file ((juxt part1 part2))))) 32 + 33 + (solve "07-test.txt") 34 + ;(solve)