day4: simplify

master
Clyne 2 years ago
parent 6b9ec331ef
commit 82429ac5d0

@ -0,0 +1,23 @@
(defn part1pred [lst]
(or (and (>= (nth lst 0) (nth lst 2))
(<= (nth lst 1) (nth lst 3)))
(and (>= (nth lst 2) (nth lst 0))
(<= (nth lst 3) (nth lst 1)))))
(defn part2pred [lst]
(or (and (>= (nth lst 0) (nth lst 2)) (<= (nth lst 0) (nth lst 3)))
(and (>= (nth lst 1) (nth lst 2)) (<= (nth lst 1) (nth lst 3)))
(and (>= (nth lst 2) (nth lst 0)) (<= (nth lst 2) (nth lst 1)))
(and (>= (nth lst 3) (nth lst 0)) (<= (nth lst 3) (nth lst 1)))))
(def count-filtered (comp println count filter))
(def elf-pairs
(->> (slurp "input")
(#(clojure.string/split % #"[^\d]"))
(map read-string)
(partition 4)))
(count-filtered part1pred elf-pairs)
(count-filtered part2pred elf-pairs)

@ -1,12 +0,0 @@
(->> (slurp "input")
(#(clojure.string/split % #"[^0-9]"))
(map read-string)
(partition 4)
(map
#(or (and (>= (first %) (nth % 2))
(<= (second %) (nth % 3)))
(and (>= (nth % 2) (first %))
(<= (nth % 3) (second %)))))
(filter true?)
count
println)

@ -1,12 +0,0 @@
(->> (slurp "input")
(#(clojure.string/split % #"[^0-9]"))
(map read-string)
(partition 4)
(map
#(or (and (>= (first %) (nth % 2)) (<= (first %) (nth % 3)))
(and (>= (second %) (nth % 2)) (<= (second %) (nth % 3)))
(and (>= (nth % 2) (first %)) (<= (nth % 2) (second %)))
(and (>= (nth % 3) (first %)) (<= (nth % 3) (second %)))))
(filter true?)
count
println)
Loading…
Cancel
Save