mirror of
https://github.com/Ajetski/advent-of-code.git
synced 2025-09-30 07:03:19 -09:00
golf
This commit is contained in:
parent
c52b029321
commit
84fbe1a642
@ -5,38 +5,37 @@
|
|||||||
|
|
||||||
(def input (get-input 4))
|
(def input (get-input 4))
|
||||||
|
|
||||||
(defn get-char [row col]
|
(defn get-char [[row col]]
|
||||||
(get (get input row) col))
|
(get (get input row) col))
|
||||||
|
|
||||||
;; part 1
|
;; part 1
|
||||||
(->> input
|
(->> input
|
||||||
c/get-coords
|
c/get-coords
|
||||||
(map (fn [[row col]]
|
(map (fn [[row col]]
|
||||||
(->> (for [offset (range 4)]
|
(->> (for [offset (range 4)]
|
||||||
(map #(apply get-char %)
|
[[row (+ col offset)]
|
||||||
[[row (+ col offset)]
|
[row (- col offset)]
|
||||||
[row (- col offset)]
|
[(+ row offset) col]
|
||||||
[(+ row offset) col]
|
[(- row offset) col]
|
||||||
[(- row offset) col]
|
[(- row offset) (- col offset)]
|
||||||
[(- row offset) (- col offset)]
|
[(- row offset) (+ col offset)]
|
||||||
[(- 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)
|
(apply map vector)
|
||||||
(filter #(= % (seq "XMAS")))
|
(filter #(= % (seq "XMAS")))
|
||||||
count)))
|
count)))
|
||||||
(reduce +))
|
(reduce +))
|
||||||
|
|
||||||
;; part 2
|
;; part 2
|
||||||
(->> input
|
(->> input
|
||||||
c/get-coords
|
c/get-coords
|
||||||
(filter #(= (apply get-char %) \A))
|
(filter #(= (get-char %) \A))
|
||||||
(map (fn [[row col]]
|
(filter (fn [[row col]]
|
||||||
(->> [[[(dec row) (dec col)] [(inc row) (inc col)]]
|
(->> [[[(dec row) (dec col)] [(inc row) (inc col)]]
|
||||||
[[(inc row) (dec col)] [(dec row) (inc col)]]]
|
[[(inc row) (dec col)] [(dec row) (inc col)]]]
|
||||||
(map (partial map #(apply get-char %)))
|
(map (partial map get-char))
|
||||||
(map set)
|
(map set)
|
||||||
(apply = #{\M \S})
|
(apply = #{\M \S}))))
|
||||||
c/bool->binary)))
|
count)
|
||||||
(reduce +))
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user