From 9f589af2cc3d53ff42eaeb657f2c1921d879fe28 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Wed, 22 Dec 2021 19:49:40 -0500 Subject: [PATCH] add day 22 part 1 --- day22/part1.clj | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 day22/part1.clj diff --git a/day22/part1.clj b/day22/part1.clj new file mode 100644 index 0000000..bffc1a9 --- /dev/null +++ b/day22/part1.clj @@ -0,0 +1,25 @@ +(require '[clojure.string :as str]) + +(def input (->> (slurp "./in") + (str/split-lines) + (map + (fn [line] + [(if (str/starts-with? line "on") true false) + (->> (str/split line #"[^-\d]+") + (rest) + (map #(Integer/parseInt %)) + (partition 2))])))) + +(println + (frequencies + (vals + (reduce + (fn [cmap c] + (into cmap + (let [[xx yy zz] (second c)] + (for [x (range (max -50 (first xx)) (inc (min 50 (second xx)))) + y (range (max -50 (first yy)) (inc (min 50 (second yy)))) + z (range (max -50 (first zz)) (inc (min 50 (second zz))))] + [[x y z] (first c)])))) + {} input)))) +