Add the first few solutions.

This commit is contained in:
2020-11-30 22:16:06 -08:00
commit e62a0067e7
6 changed files with 212 additions and 0 deletions

27
day2.cr Normal file
View File

@@ -0,0 +1,27 @@
lines = File.read("day2.txt").lines.map(&.split(",").map(&.to_i32)).flatten
def run(lines, noun, verb)
lines[1] = noun
lines[2] = verb
pos = 0
loop do
case lines[pos]
when 1
lines[lines[pos+3]] = lines[lines[pos+1]] + lines[lines[pos+2]]
pos += 4
when 2
lines[lines[pos+3]] = lines[lines[pos+1]] * lines[lines[pos+2]]
pos += 4
when 99
break
end
end
lines[0]
end
100.times do |noun|
100.times do |verb|
if run(lines.dup, noun, verb) == 19690720
puts 100*noun + verb
break
end
end
end