21 lines
		
	
	
		
			330 B
		
	
	
	
		
			Crystal
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			330 B
		
	
	
	
		
			Crystal
		
	
	
	
	
	
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
 |