34 lines
590 B
Ruby
Executable File

#!/usr/bin/env ruby
# frozen_string_literal: true
require_relative "grid"
class Main
def run
data = []
$stdin.each_line do |line|
data << line.chomp
end
@sum = 0
grid = Grid.new(data)
(0...grid.size).each do |row_index|
(0...grid[row_index].size).each do |column_index|
cell = grid.cell_at(row_index, column_index)
next unless cell.value == "@"
if cell.neighbours.count do |neighbour|
neighbour.value == "@"
end < 4
@sum += 1
end
end
end
puts @sum
end
end
Main.new.run