adventOfCode/2023/1/part2.py
2023-12-02 10:46:52 +01:00

6 lines
No EOL
500 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(numbers)
print(sum(numbers))