--- /dev/null
+(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)))
+
--- /dev/null
+(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
+