Files
advent-of-code/2023/day9/p1.rb
2023-12-12 00:44:21 -05:00

14 lines
365 B
Ruby

# frozen_string_literal: true
inputs = []
File.foreach('./2023/day9/data') do |line|
inputs << line.split(' ').map(&:to_i)
end
def add_derivative(inputs)
return 0 if inputs.all?(&:zero?)
inputs[-1] + add_derivative(inputs.map.with_index { |x, i| i.zero? ? x : x - inputs[i - 1] }[1..inputs.length])
end
puts inputs.map { |input| add_derivative input }.sum