Merge other solutions into one file.

This commit is contained in:
2018-12-02 21:34:51 -08:00
parent cf06140366
commit 5ac0c699e5
6 changed files with 50 additions and 53 deletions

30
day2.cr Normal file
View File

@@ -0,0 +1,30 @@
require "./common.cr"
lines = File.read("day2").split("\n")
lines.pop
CHARS = ('a'..'z').to_a
def has_n?(string, n)
return string.chars.count_each(CHARS).any?(&.[](1).==(n))
end
def count_changes(s1, s2)
pairs = s1.chars.zip s2.chars
total = 0
pairs.each do |pair|
total += 1 if pair[0] != pair[1]
end
return total
end
two = lines.count { |s| has_n?(s, 2) }
three = lines.count { |s| has_n?(s, 3) }
puts "\"Hash\": #{two * three}"
lines.product(lines).each do |pair|
if count_changes(pair[0], pair[1]) == 1
puts "Strings: #{pair[0]}, #{pair[1]}"
exit
end
end