diff options
-rw-r--r-- | 15/a.rb | 25 | ||||
-rw-r--r-- | 15/b.rb | 25 | ||||
-rw-r--r-- | 15/input.txt | 1 |
3 files changed, 51 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 @@ -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..30000000).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 diff --git a/15/input.txt b/15/input.txt new file mode 100644 index 0000000..bf1ac60 --- /dev/null +++ b/15/input.txt @@ -0,0 +1 @@ +0,14,6,20,1,4 |