[2017][ruby][9.x]
change nxzwypwrqvlmntltpryvxnvvwrotuyrx
commit b1a423e3320c82962b7574be706af0d5127a2923
author Alpha Chen <alpha.chen@gmail.com>
date
parent kuuwpmws
diff --git a/2017/ruby/day_09.rb b/2017/ruby/day_09.rb
new file mode 100644
index 0000000..1bff081
--- /dev/null
+++ b/2017/ruby/day_09.rb
@@ -0,0 +1,25 @@
+require "strscan"
+
+input = ARGF.read.strip
+input = input.gsub(/!./, "")
+
+p input.scan(/<[^>]*>/).map {|g| g.size - 2 }.sum
+
+input = input.gsub(/<[^>]*>/, "")
+  .gsub(?,, "")
+
+ss = StringScanner.new(input)
+score = 0
+group = 0
+until ss.eos?
+  case
+  when ss.scan(/\{/)
+    group += 1
+  when ss.scan(/\}/)
+    score += group
+    group -= 1
+  else
+    raise "omg!"
+  end
+end
+p score