17 lines
588 B
Ruby
17 lines
588 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
|