Files
Mark Hoekveen 5c4fb104e7 2023-3-1
2024-11-19 17:47:39 +01:00

39 lines
1017 B
Python

# Inlezen hele kaart naar list-of-lists
map = []
with open("input.txt", "r") as f:
for line in f.readlines():
line = line.strip()
map.append(list(line))
HEIGHT = len(map)
WIDTH = len(map[0])
def isSymbol(c):
# desda karakter geen nummer of punt is
return c != '.' and (c < '0' or c > '9')
def toevoegen(x, y):
# desda (x, y) aangrenzend is aan een symbool
for xi in range(x-1, x+2):
for yi in range(y-1, y+2):
xi = min(max(xi, 0), WIDTH-1)
yi = min(max(yi, 0), HEIGHT-1)
if isSymbol(map[yi][xi]):
return True
return False
teller = 0
nummer = 0
adding = False
for y in range(HEIGHT):
for x in range(WIDTH):
try:
n = int(map[y][x])
nummer *= 10
nummer += n
if toevoegen(x, y):
adding = True
except Exception as e:
if adding:
teller += nummer
adding = False
nummer = 0
print(teller)