[2020][ruby][10.x]
change lwyvuvxmpkksxsoolqpypynqukmsmvyy
commit 55217385dce905dec5fca6c49d76386f2909096f
author Alpha Chen <alpha@kejadlen.dev>
date
parent zzmyswpp
diff --git a/2020/ruby/day_10.rb b/2020/ruby/day_10.rb
new file mode 100644
index 0000000..e562da7
--- /dev/null
+++ b/2020/ruby/day_10.rb
@@ -0,0 +1,16 @@
+adapters = ARGF.read.scan(/\d+/).map(&:to_i)
+
+outlet = 0
+device = adapters.max + 3
+
+dist = (adapters + [outlet, device]).sort.each_cons(2).map {|a,b| b - a }
+
+# part 1
+# tally = dist.tally
+# p dist[1] * dist[3]
+
+p dist
+  .slice_when {|a,b| a != b }
+  .select {|run| run.first == 1 }
+  .map {|run| { 1 => 1, 2 => 2, 3 => 4, 4 => 7 }.fetch(run.size) }
+  .inject {|a,b| a*b }