[2021][ruby][6.x]
change mpkotuywqmqxxsqqqullwzvornplwxmv
commit 98755324ca03155172cecae86a3584f25533ed71
author Alpha Chen <alpha@kejadlen.dev>
date
parent qlssvywr
diff --git a/2021/ruby/day_06.rb b/2021/ruby/day_06.rb
new file mode 100644
index 0000000..4f609aa
--- /dev/null
+++ b/2021/ruby/day_06.rb
@@ -0,0 +1,22 @@
+ages = ARGF.read.split(?,).map(&:to_i)
+
+# 80.times do
+#   new_fish = 0
+#   ages.map! {|age|
+#     if age.zero?
+#       new_fish += 1
+#       6
+#     else
+#       age - 1
+#     end
+#   }
+#   ages.concat(Array.new(new_fish) { 8 })
+# end
+# p ages.count
+
+DURATION = 256
+DESCENDANTS = Hash.new {|h,k|
+  children = (k...DURATION).step(7)
+  h[k] = children.count + children.map {|d| d + 9 }.select {|d| d < DURATION }.sum {|d| h[d] }
+}
+p ages.count + ages.sum {|age| DESCENDANTS[age] }