From bcea1e3977f629ed955c9ab886f484bad938c81a Mon Sep 17 00:00:00 2001 From: Oscar Najera Date: Sat, 11 Feb 2023 20:15:04 +0100 Subject: day06 --- AoC2022/aocclj/src/aocclj/day06.clj | 9 +++++++++ AoC2022/aocclj/test/aocclj/core_test.clj | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 AoC2022/aocclj/src/aocclj/day06.clj diff --git a/AoC2022/aocclj/src/aocclj/day06.clj b/AoC2022/aocclj/src/aocclj/day06.clj new file mode 100644 index 0000000..c333cad --- /dev/null +++ b/AoC2022/aocclj/src/aocclj/day06.clj @@ -0,0 +1,9 @@ +(ns aocclj.day06) + +(defn solver [window input] + (first + (keep-indexed + (fn [idx item] + (when ((comp #(= window %) count set) item) (+ window idx))) + (partition-all window 1 input)))) + diff --git a/AoC2022/aocclj/test/aocclj/core_test.clj b/AoC2022/aocclj/test/aocclj/core_test.clj index 38e4f72..f372d29 100644 --- a/AoC2022/aocclj/test/aocclj/core_test.clj +++ b/AoC2022/aocclj/test/aocclj/core_test.clj @@ -5,6 +5,7 @@ [aocclj.day03 :as day03] [aocclj.day04 :as day04] [aocclj.day05 :as day05] + [aocclj.day06 :as day06] [aocclj.core :refer :all] [clojure.string :as str])) @@ -37,3 +38,9 @@ (are [expected single] (= expected (day05/solver single input)) "TPGVQPFDH" true "DMRDFRHHH" false))) + +(deftest day06 + (let [input (slurp "../06/input")] + (are [expected window] (= expected (day06/solver window input)) + 1655 4 + 2665 14))) -- cgit v1.2.3