[2020][ruby][15.x]
change kukxpuysqlpyorszmkywqoyukrkxlnpl
commit 252430e980660cad561f40df95f8410d6133ef9b
author Alpha Chen <alpha@kejadlen.dev>
date
parent sznylmmp
diff --git a/2020/ruby/day_15.rb b/2020/ruby/day_15.rb
new file mode 100644
index 0000000..87d131a
--- /dev/null
+++ b/2020/ruby/day_15.rb
@@ -0,0 +1,31 @@
+# turns = ARGF.read.scan(/\d+/).map(&:to_i)
+# until turns.size == 2020
+#   turns << if turns.count(turns.last) == 1
+#              0
+#            else
+#              a, b = turns.filter_map.with_index {|x,i|
+#                x == turns.last ? i : nil
+#              }[-2,2]
+#              b - a
+#            end
+# end
+
+start = ARGF.read.scan(/\d+/).map(&:to_i)
+
+turns = Hash.new
+last = start.pop
+start.each.with_index do |x,i|
+  turns[x] = i+1
+end
+
+(start.size+1...30000000).each do |turn|
+  if n = turns[last]
+    turns[last] = turn
+    last = turn - n
+  else
+    turns[last] = turn
+    last = 0
+  end
+end
+
+p last