commit bd1cf6ffa0379555364fe749a7d987e3d879c447 Author: Sijmen Date: Fri Dec 1 14:15:03 2023 +0100 Day 1 diff --git a/day1.py b/day1.py new file mode 100644 index 0000000..e92e193 --- /dev/null +++ b/day1.py @@ -0,0 +1,52 @@ +import fileinput + +digit_map = { + "one": 1, + "two": 2, + "three": 3, + "four": 4, + "five": 5, + "six": 6, + "seven": 7, + "eight": 8, + "nine": 9, +} +digits = list(digit_map) + +inp = list(fileinput.input()) + +# +# Part 1 +# +part1 = sum( + [ + int( + next(x for x in y if x.isdigit()) + + next(x for x in reversed(y) if x.isdigit()) + ) + for y in inp + ] +) + +print(part1) + +# +# Part 2 +# +part2 = 0 + +for line in inp: + newline = [] + + for i in range(len(line)): + for digit in digits: + if line[i:].startswith(digit): + newline.append(str(digit_map[digit])) + break + else: + if line[i].isdigit(): + newline.append(line[i]) + + part2 += int(newline[0] + newline[-1]) + +print(part2)