aboutsummaryrefslogtreecommitdiffstats
path: root/src/aoc_2022/day06.clj
blob: 227c6fdcd82fd830d488a3563fa9db00b8c17c8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)