18 lines
576 B
Ruby
18 lines
576 B
Ruby
#!/bin/env ruby
|
|
|
|
# Part 1, To what floor do the instructions take Santa?
|
|
directions = File.read('./input')
|
|
p1answer = directions.each_char.map { |char| char == '(' ? 1 : -1 }.sum
|
|
puts 'Part 1 Answer: ' + p1answer.to_s
|
|
|
|
# Part 2, What is the position of the character that causes Santa to first enter the basement?
|
|
directions = directions.each_char.map { |char| char == '(' ? 1 : -1 }
|
|
position = 0
|
|
catch :basement do
|
|
directions.each.with_index do |_x, i|
|
|
position = i + 1
|
|
throw :basement if directions[0..i].sum == -1
|
|
end
|
|
end
|
|
puts 'Part 2 Answer: ' + position.to_s
|