From 825fac8daf10efa4799f6229edc08830bb862df8 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Tue, 6 Dec 2022 23:27:45 +0200 Subject: Solve day06 --- src/aoc_2022/day06.clj | 21 +++++++++++++++++++++ src/aoc_2022/dayXX.clj | 13 +++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/aoc_2022/day06.clj create mode 100644 src/aoc_2022/dayXX.clj (limited to 'src/aoc_2022') diff --git a/src/aoc_2022/day06.clj b/src/aoc_2022/day06.clj new file mode 100644 index 0000000..227c6fd --- /dev/null +++ b/src/aoc_2022/day06.clj @@ -0,0 +1,21 @@ +(ns aoc-2022.day06) +(require '[aoc-2022.utils :refer :all]) + +(defn process + ([n cs] (process n 0 (list) cs)) + ([n idx acc [c & cs]] + (if (= n (count (distinct acc))) + idx + (process n (inc idx) (take n (cons c acc)) cs)))) + +(defn task1 [rows] + (->> rows + first + (process 4))) + +(defn task2 [rows] + (->> rows + first + (process 14))) + +(run-aoc "day06" task1 task2) diff --git a/src/aoc_2022/dayXX.clj b/src/aoc_2022/dayXX.clj new file mode 100644 index 0000000..a29b640 --- /dev/null +++ b/src/aoc_2022/dayXX.clj @@ -0,0 +1,13 @@ +(ns aoc-2022.dayXX) + +(require '[aoc-2022.utils :refer :all]) + +(defn task1 [rows] + (->> rows + count)) + +(defn task2 [rows] + (->> rows + count)) + +(run-aoc "dayXX" task1 task2) -- cgit v1.3