about summary refs log tree commit diff
path: root/day09.rb
diff options
context:
space:
mode:
Diffstat (limited to 'day09.rb')
-rw-r--r--day09.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/day09.rb b/day09.rb
new file mode 100644
index 0000000..eba5d58
--- /dev/null
+++ b/day09.rb
@@ -0,0 +1,28 @@
+s = File.read("day09").chomp
+
+o = ""
+while s =~ /\((\d+)x(\d+)\)/
+  o << $`
+  a, b = $1.to_i, $2.to_i
+  o << $'[0,a]*b
+  s = $'[a..-1]
+end
+o << s
+p o.size
+
+s = File.read("day09")
+
+def len(s)
+  o = 0
+  while s =~ /\((\d+)x(\d+)\)/
+    o += $`.size
+    r = $'
+    a, b = $1.to_i, $2.to_i
+    o += len(r[0,a])*b
+    s = r[a..-1]
+  end
+  o += s.size
+  o
+end
+
+p len(File.read("day09").chomp)