From bfab0ac65ae9860285c66704e260dde434d5da1f Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Sat, 12 Dec 2015 14:57:41 +0100 Subject: day12 --- day12.rb | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 day12.rb (limited to 'day12.rb') diff --git a/day12.rb b/day12.rb new file mode 100644 index 0000000..c8af5cf --- /dev/null +++ b/day12.rb @@ -0,0 +1,37 @@ +require 'json' + +d = JSON.parse(File.read("day12")) + +def sum(o) + case o + when Hash + sum o.values + when Array + o.inject(0) { |a,e| a + sum(e) } + when Numeric + o + else + 0 + end +end + +def sum2(o) + case o + when Hash + if o.values.include?("red") + 0 + else + sum2 o.values + end + when Array + o.inject(0) { |a,e| a + sum2(e) } + when Numeric + o + else + 0 + end +end + +p sum(d) + +p sum2(d[2][7]["h"]["c"][0]) # 96852 -- cgit 1.4.1