add day 6
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…
Reference in New Issue