finished solution
parent
2d82a8d501
commit
6e3f8da8f5
|
@ -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
|
Loading…
Reference in New Issue