changes = File.read("day1_input").split("\n") .select { |it| !it.empty? } .map(&.to_i) puts "Final frequency: #{changes.sum}" count = { 0 => 1 } acc = 0 changes.cycle do |i| acc += i old_count = count[acc]? || 0 new_count = old_count + 1 count[acc] = new_count if new_count == 2 puts acc exit end end