fix naming

This commit is contained in:
2023-12-03 21:07:11 +01:00
parent ec25d6bcac
commit b3ad9b8e3a

View File

@@ -18,8 +18,8 @@ def parse_input(input_data: str) -> dict:
# convert input into a 2d array for easier parsing # convert input into a 2d array for easier parsing
field = [line for line in input_data.split("\n")] field = [line for line in input_data.split("\n")]
# get coordinates of numbers # create a dictionary of all symbols and their coordinates
nums = { symbols = {
(i, char): [] (i, char): []
for i in range(140) for i in range(140)
for char in range(140) for char in range(140)
@@ -28,16 +28,18 @@ def parse_input(input_data: str) -> dict:
# for each row in field # for each row in field
for i, row in enumerate(field): for i, row in enumerate(field):
# for each number in row # for each number in row create a dictionary of any number with coords
for n in re.finditer(r"\d+", row): for n in re.finditer(r"\d+", row):
edge = { numbers = {
(i, char) (i, char)
for i in (i - 1, i, i + 1) for i in (i - 1, i, i + 1)
for char in range(n.start() - 1, n.end() + 1) for char in range(n.start() - 1, n.end() + 1)
} }
for o in edge & nums.keys():
nums[o].append(int(n.group())) # append each number to the list of numbers
return nums for o in numbers & symbols.keys():
symbols[o].append(int(n.group()))
return symbols
if __name__ == "__main__": if __name__ == "__main__":