AdventOfCode/Ruby/2024/02.rb

9 lines
344 B
Ruby

def check(nums)
d = nums[...-1].zip(nums[1..]).map { _1.reduce &:- }
return d.all? { (1..3).include?(_1.abs) && _1.negative? == d[0].negative? }
end
input = File.read(ARGV[0]).lines.map { _1.split.map &:to_i }
p input.filter { check _1 }.length
p input.filter { |nums| (0...nums.length).any? { check nums[..._1] + nums[_1+1..] } }.length