blob: e674209c68d38e6020298ea2efb14a0973b02fbd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
(ns org.vuxu.aoc2021.day06
(:require [clojure.string :as str]))
(def data
(let [values (->> (str/split (str/trim-newline (slurp "day06")) #",")
(mapv parse-long))]
(mapv #(count (filter #{%} values)) (range 0 9))))
(defn stepv [fishes]
(mapv (fn [i]
(cond (= i 8) (fishes 0)
(= i 6) (+ (fishes 0) (fishes (inc i)))
:else (fishes (inc i))))
(range 0 9)))
(def part1
(apply + (nth (iterate stepv data) 80)))
;; => 373378
(def part2
(apply + (nth (iterate stepv data) 256)))
;; => 1682576647495
|