diff options
Diffstat (limited to '15/a.rb')
-rw-r--r-- | 15/a.rb | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -0,0 +1,25 @@ +input = File.read('input.txt').split ',' + +@t = 1 + +last_spoken = {} +last_number = 0 +input.each_with_index do |n, i| + if i > 0 + last_spoken[last_number] = i + end + last_number = n.to_i +end + +(input.length+1..2020).each do |turn| + if !last_spoken[last_number] + last_spoken[last_number] = turn - 1 + last_number = 0 + else + new_last_number = (turn - 1) - last_spoken[last_number] + last_spoken[last_number] = turn - 1 + last_number = new_last_number + end +end + +puts last_number |