solved day 4, part 1!
parent
94e87bdae1
commit
304f6a2c46
|
|
@ -0,0 +1,34 @@
|
||||||
|
input = open('input.txt', 'r').read().splitlines()
|
||||||
|
|
||||||
|
surrounding_spaces = [
|
||||||
|
{'x': -1, 'y': -1},
|
||||||
|
{'x': 0, 'y': -1},
|
||||||
|
{'x': 1, 'y': -1},
|
||||||
|
{'x': -1, 'y': 0},
|
||||||
|
{'x': 1, 'y': 0},
|
||||||
|
{'x': -1, 'y': 1},
|
||||||
|
{'x': 0, 'y': 1},
|
||||||
|
{'x': 1, 'y': 1}
|
||||||
|
]
|
||||||
|
|
||||||
|
answer = 0
|
||||||
|
x_max = len(input[0]) - 1
|
||||||
|
y_max = len(input) - 1
|
||||||
|
|
||||||
|
for y, line in enumerate(input):
|
||||||
|
for x, char in enumerate(line):
|
||||||
|
if char == "@":
|
||||||
|
rolls = 0
|
||||||
|
for space in surrounding_spaces:
|
||||||
|
current_x = x + space['x']
|
||||||
|
current_y = y + space['y']
|
||||||
|
if current_x < 0 or current_y < 0 or current_x > x_max or current_y > y_max:
|
||||||
|
continue
|
||||||
|
elif input[current_y][current_x] == "@":
|
||||||
|
rolls += 1
|
||||||
|
if rolls > 3:
|
||||||
|
break
|
||||||
|
if rolls < 4:
|
||||||
|
answer += 1
|
||||||
|
|
||||||
|
print(answer)
|
||||||
Loading…
Reference in New Issue