This commit is contained in:
Adam Jeniski 2024-12-04 23:54:41 -05:00
parent c52b029321
commit 84fbe1a642

View File

@ -5,7 +5,7 @@
(def input (get-input 4))
(defn get-char [row col]
(defn get-char [[row col]]
(get (get input row) col))
;; part 1
@ -13,7 +13,6 @@
c/get-coords
(map (fn [[row col]]
(->> (for [offset (range 4)]
(map #(apply get-char %)
[[row (+ col offset)]
[row (- col offset)]
[(+ row offset) col]
@ -21,7 +20,8 @@
[(- row offset) (- col offset)]
[(- row offset) (+ col offset)]
[(+ row offset) (- col offset)]
[(+ row offset) (+ col offset)]]))
[(+ row offset) (+ col offset)]])
(map (partial map get-char))
(apply map vector)
(filter #(= % (seq "XMAS")))
count)))
@ -30,13 +30,12 @@
;; part 2
(->> input
c/get-coords
(filter #(= (apply get-char %) \A))
(map (fn [[row col]]
(filter #(= (get-char %) \A))
(filter (fn [[row col]]
(->> [[[(dec row) (dec col)] [(inc row) (inc col)]]
[[(inc row) (dec col)] [(dec row) (inc col)]]]
(map (partial map #(apply get-char %)))
(map (partial map get-char))
(map set)
(apply = #{\M \S})
c/bool->binary)))
(reduce +))
(apply = #{\M \S}))))
count)