adventOfCode/2023/1/part2.py
2023-12-04 17:57:11 +01:00

9 lines
No EOL
499 B
Python

import re
wordNumbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
parse = lambda x: int(x) if x.isdigit() else wordNumbers.index(x)
numbers = [
(parse(re.match(r".*?(\d|one|two|three|four|five|six|seven|eight|nine)", x)[1]) * 10 + parse(re.match(r"(?:.*)(\d|one|two|three|four|five|six|seven|eight|nine)", x)[1]))
for x in open("input2", "r")
if re.match(r".*?(\d|one|two|three|four|five|six|seven|eight|nine)", x) is not None
]
print(sum(numbers))