AoC2015/day01/solution.rb

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