2023 Day 3

This commit is contained in:
2023-12-03 09:14:51 +00:00
parent 35c49b83bd
commit 1077a375c7
2 changed files with 89 additions and 0 deletions

47
2023/Day-03/day03-1.py Executable file
View File

@@ -0,0 +1,47 @@
#!/usr/bin/python3
import re
def main():
with open('input.txt', 'r') as input_file:
lines = input_file.readlines()
lines = [line.strip() for line in lines]
part_numbers = []
for y in range(len(lines)):
for digit in re.finditer(r'\d+', lines[y]):
part_number = 0
if(lines[y][digit.span()[0] - 1] != '.'
and not lines[y][digit.span()[0] - 1].isdigit()):
part_number = digit.group()
part_numbers.append(int(part_number))
continue
try:
if(lines[y][digit.span()[1]] != '.'
and not lines[y][digit.span()[1]].isdigit()):
part_number = digit.group()
part_numbers.append(int(part_number))
continue
except:
pass
for char in range(digit.span()[0] - 1, digit.span()[1] + 1):
try:
if lines[y-1][char] != '.' and not lines[y-1][char].isdigit():
part_number = digit.group()
part_numbers.append(int(part_number))
continue
except:
pass
try:
if lines[y+1][char] != '.' and not lines[y+1][char].isdigit():
part_number = digit.group()
part_numbers.append(int(part_number))
continue
except:
pass
print(sum(part_numbers))
if __name__ == '__main__':
main()