This commit is contained in:
Patrick Michl 2020-12-11 15:15:17 +01:00
parent f26768a7a7
commit 408f92c701
2 changed files with 26 additions and 21 deletions

View File

@ -1,17 +1,18 @@
# frozen_string_literal: true
input = File.readlines('./input').map(&:strip).map(&:chars) input = File.readlines('./input').map(&:strip).map(&:chars)
$dirs = [ $dirs = [
[-1,-1], [-1, -1],
[-1,0], [-1, 0],
[-1,1], [-1, 1],
[0,-1], [0, -1],
[0,1], [0, 1],
[1,-1], [1, -1],
[1,0], [1, 0],
[1,1] [1, 1]
] ]
def round(map) def round(map)
output = [] output = []
map.each_index do |row| map.each_index do |row|
@ -21,8 +22,9 @@ def round(map)
x_index = row + x x_index = row + x
y_index = col + y y_index = col + y
next nil if x_index < 0 || y_index < 0 next nil if x_index.negative? || y_index.negative?
map[row+x]&.[](col+y)
map[row + x]&.[](col + y)
end end
occupied = tmp.compact.count('#') occupied = tmp.compact.count('#')
output[row][col] = case [map[row][col], occupied] output[row][col] = case [map[row][col], occupied]

View File

@ -1,17 +1,18 @@
# frozen_string_literal: true
input = File.readlines('./input').map(&:strip).map(&:chars) input = File.readlines('./input').map(&:strip).map(&:chars)
$dirs = [ $dirs = [
[-1,-1], [-1, -1],
[-1,0], [-1, 0],
[-1,1], [-1, 1],
[0,-1], [0, -1],
[0,1], [0, 1],
[1,-1], [1, -1],
[1,0], [1, 0],
[1,1] [1, 1]
] ]
def round(map) def round(map)
output = [] output = []
map.each_index do |row| map.each_index do |row|
@ -22,11 +23,13 @@ def round(map)
y_index = col + y y_index = col + y
char = loop do char = loop do
break nil if x_index < 0 || y_index < 0 || x_index >= map.size || y_index >= map[row].size break nil if x_index.negative? || y_index.negative? || x_index >= map.size || y_index >= map[row].size
char = map[x_index]&.[](y_index) char = map[x_index]&.[](y_index)
x_index += x x_index += x
y_index += y y_index += y
next if char == '.' next if char == '.'
break char break char
end end