finished solution
parent
ce5312d26c
commit
0827c0f9ca
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/env ruby
|
||||||
|
|
||||||
|
ids = []
|
||||||
|
File.readlines('./input').each do |line|
|
||||||
|
line.strip!
|
||||||
|
row = [0, 127]
|
||||||
|
col = [0, 7]
|
||||||
|
step = 64
|
||||||
|
line[..6].each_char do |char|
|
||||||
|
row[0] += step if char == 'B'
|
||||||
|
row[1] -= step if char == 'F'
|
||||||
|
step /= 2
|
||||||
|
end
|
||||||
|
step = 4
|
||||||
|
line[-3..].each_char do |char|
|
||||||
|
col[0] += step if char == 'R'
|
||||||
|
col[1] -= step if char == 'L'
|
||||||
|
step /= 2
|
||||||
|
end
|
||||||
|
id = (row[0] * 8) + col[0]
|
||||||
|
ids.push(id)
|
||||||
|
puts "Seat #{line} is at row #{row} and column #{col}. Seat id: #{id}"
|
||||||
|
end
|
||||||
|
|
||||||
|
puts "The highest seat ID is #{ids.max}"
|
||||||
|
ids.sort!
|
||||||
|
ids.each_index do |i|
|
||||||
|
next if i == 0
|
||||||
|
if ids[i] != (ids[i-1] + 1)
|
||||||
|
puts "My seat is #{ids[i] - 1}"
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in New Issue