From 0b36acbe058a0afb63f2c35ce8cc24fca042e8f3 Mon Sep 17 00:00:00 2001 From: Oscar Najera Date: Tue, 7 Feb 2023 18:48:59 +0100 Subject: day04 --- AoC2022/aocclj/src/aocclj/day04.clj | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 AoC2022/aocclj/src/aocclj/day04.clj (limited to 'AoC2022/aocclj/src') diff --git a/AoC2022/aocclj/src/aocclj/day04.clj b/AoC2022/aocclj/src/aocclj/day04.clj new file mode 100644 index 0000000..5b03eeb --- /dev/null +++ b/AoC2022/aocclj/src/aocclj/day04.clj @@ -0,0 +1,23 @@ +(ns aocclj.day04 + (:require [clojure.string :as str])) + +(defn subinterval [a0 a1 b0 b1] + (and (<= a0 b0) (>= a1 b1))) + +(defn subcontained [a0 a1 b0 b1] + (or (subinterval a0 a1 b0 b1) + (subinterval b0 b1 a0 a1))) + +(defn overlap [a0 a1 b0 b1] + "Test if [b0;b1] overlaps [a0;a1]" + (and (<= a0 b1) (<= b0 a1))) + +(defn solver [func input] + (transduce + (comp + (map #(str/split % #"[,-]")) + (map (partial map parse-long)) + (map #(apply func %)) + (map #(if (true? %) 1 0))) + + + input)) -- cgit v1.2.3