add day 6

master
Clyne 3 years ago
parent 5d1bf4161a
commit 6a9feffb4f

@ -0,0 +1,20 @@
(require '[clojure.string :as str])
(def fish-init
(->> (read-line)
(#(str/split % #","))
(map #(Integer/parseInt %))
(vec)
)
)
(defn cycle-day [fish]
(flatten
(for [f (map dec fish)]
(if (neg? f) [6 8] f)
)
)
)
(println (count (nth (iterate cycle-day fish-init) 80)))

@ -0,0 +1,25 @@
(require '[clojure.string :as str])
(->> (read-line)
(#(str/split % #","))
(map #(Integer/parseInt %))
(reduce #(update %1 %2 inc) (vec (repeat 9 0)))
(iterate
#(let [nf (conj (vec (rest %)) (first %))]
(update nf 6 (partial + (get nf 8)))
)
)
(#(nth % 256))
(apply +)
(println)
)
; ->> read input from stdin
; split input string by commas
; convert string array into number array
; reduce to frequency counts
; create iterator that returns next day's counts
; get 256th iteration
; sum all frequency counts
; print results
Loading…
Cancel
Save