Add two-pointer solution for day 1.

This commit is contained in:
Danila Fedorin 2020-11-30 21:58:36 -08:00
parent 458c285a7f
commit aef1ed2808

17
day1.cr
View File

@ -1,11 +1,18 @@
INPUT = File.read("day1.txt").lines.map(&.chomp.to_i32)
def part1
input = INPUT.clone
input.each_with_index do |v, i|
input.each_with_index do |v2, j|
next unless v + v2 == 2020 && i != j
puts v*v2
input = INPUT.clone.sort!
bottom = 0
top = input.size - 1
loop do
sum = input[bottom] + input[top]
if sum == 2020
puts input[bottom] * input[top]
return
elsif sum > 2020
top -= 1
else
bottom += 1
end
end
end