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
b25e12b3a2
commit
3c65d19b8d
@ -28,7 +28,8 @@
|
||||
(->> list-of-lists count range
|
||||
(map #(->> % (get list-of-lists) count range))
|
||||
(map-indexed (fn [row cols]
|
||||
(map #(list row %) cols)))))
|
||||
(map #(list row %) cols)))
|
||||
(mapcat identity)))
|
||||
|
||||
(defn bool->binary [condition]
|
||||
(if condition 1 0))
|
||||
|
@ -11,37 +11,35 @@
|
||||
;; part 1
|
||||
(->> input
|
||||
c/get-coords
|
||||
(map (partial reduce (fn [acc [row col]]
|
||||
(+ acc
|
||||
(->> (for [offset (range 4)]
|
||||
(map #(apply get-char %)
|
||||
[[row (+ col offset)]
|
||||
[row (- col offset)]
|
||||
[(+ row offset) col]
|
||||
[(- row offset) col]
|
||||
[(- row offset) (- col offset)]
|
||||
[(- row offset) (+ col offset)]
|
||||
[(+ row offset) (- col offset)]
|
||||
[(+ row offset) (+ col offset)]]))
|
||||
(apply map vector)
|
||||
(filter #(= % (seq "XMAS")))
|
||||
count)))
|
||||
0))
|
||||
(reduce +))
|
||||
(reduce (fn [acc [row col]]
|
||||
(+ acc
|
||||
(->> (for [offset (range 4)]
|
||||
(map #(apply get-char %)
|
||||
[[row (+ col offset)]
|
||||
[row (- col offset)]
|
||||
[(+ row offset) col]
|
||||
[(- row offset) col]
|
||||
[(- row offset) (- col offset)]
|
||||
[(- row offset) (+ col offset)]
|
||||
[(+ row offset) (- col offset)]
|
||||
[(+ row offset) (+ col offset)]]))
|
||||
(apply map vector)
|
||||
(filter #(= % (seq "XMAS")))
|
||||
count)))
|
||||
0))
|
||||
|
||||
;; part 2
|
||||
(->> input
|
||||
c/get-coords
|
||||
(map (partial reduce (fn [acc [row col]]
|
||||
(+ acc
|
||||
(if (= (get-char row col) \A)
|
||||
(->> [[[(dec row) (dec col)] [(inc row) (inc col)]]
|
||||
[[(inc row) (dec col)] [(dec row) (inc col)]]]
|
||||
(map (partial map #(apply get-char %)))
|
||||
(map set)
|
||||
(apply = #{\M \S})
|
||||
c/bool->binary)
|
||||
0)))
|
||||
0))
|
||||
(reduce +))
|
||||
(reduce (fn [acc [row col]]
|
||||
(+ acc
|
||||
(if (= (get-char row col) \A)
|
||||
(->> [[[(dec row) (dec col)] [(inc row) (inc col)]]
|
||||
[[(inc row) (dec col)] [(dec row) (inc col)]]]
|
||||
(map (partial map #(apply get-char %)))
|
||||
(map set)
|
||||
(apply = #{\M \S})
|
||||
c/bool->binary)
|
||||
0)))
|
||||
0))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user