Add 2023-1

This commit is contained in:
Tobias Reisinger 2023-12-02 03:28:17 +01:00
commit 131b44139d
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
2 changed files with 1040 additions and 0 deletions

1000
1/input Normal file

File diff suppressed because it is too large Load diff

40
1/main.py Executable file
View file

@ -0,0 +1,40 @@
#!/usr/bin/env python3
digit_map = {
'zero': 0,
'one': 1,
'two': 2,
'three': 3,
'four': 4,
'five': 5,
'six': 6,
'seven': 7,
'eight': 8,
'nine': 9
}
def find_digit_name(line):
for digit_name in digit_map.keys():
if line.startswith(digit_name):
return digit_map[digit_name]
return None
def find_digit(line, check_range):
for i in check_range:
if line[i].isdigit():
return int(line[i])
if (digit := find_digit_name(line[i:])) is not None:
return digit
# read input file
with open('input', 'r') as f:
lines = f.readlines()
lines_sum = 0
for line in lines:
first_digit = find_digit(line, range(len(line)))
last_digit = find_digit(line, range(len(line) - 1, -1, -1))
num = str(first_digit) + str(last_digit)
lines_sum += int(num)
print(lines_sum)