diff --git a/day02/solution2.rb b/day02/solution2.rb new file mode 100755 index 0000000..3586c4a --- /dev/null +++ b/day02/solution2.rb @@ -0,0 +1,27 @@ +#!/bin/env ruby + +def parse_line (line) + ret = Hash.new + ret[:pass] = line.split(':')[1].strip + ret[:char] = line.split(' ')[1][0] + ret[:min] = line.split(' ')[0].split('-')[0].to_i + ret[:max] = line.split(' ')[0].split('-')[1].to_i + return ret +end +results = { + :pass => 0, + :fail => 0 +} + +File.readlines('./input').each do |line| + password = parse_line(line) + c1 = password[:pass][password[:min] - 1] + c2 = password[:pass][password[:max] - 1] + if (c1 == password[:char]) ^ (c2 == password[:char]) + results[:pass] += 1 + else + results[:fail] += 1 + end +end + +pp results \ No newline at end of file