[2023][ruby][11.1]
change rywzyqupvxokqnpmxvvuxkowyvvtvqst
commit 866c4ca3900b4e255cc337e4f6572c472f95eabd
author Alpha Chen <alpha@kejadlen.dev>
date
parent mqrvntww
diff --git a/2023/ruby/day_11.rb b/2023/ruby/day_11.rb
new file mode 100644
index 0000000..6cb9397
--- /dev/null
+++ b/2023/ruby/day_11.rb
@@ -0,0 +1,13 @@
+image = ARGF.read
+image.gsub!(/^(\.+)$/m, "\\1\n\\1")
+image = image.split("\n").map(&:chars).transpose.map(&:join).join("\n")
+image.gsub!(/^(\.+)$/m, "\\1\n\\1")
+image = image.split("\n").map(&:chars)
+
+galaxies = image.flat_map.with_index {|row, y|
+  row.filter_map.with_index {|elem, x| elem == ?# ? [y,x] : nil }
+}
+
+p galaxies.combination(2).sum {|a, b|
+  a.zip(b).sum { (_1 - _2).abs }
+}