-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathday07.py
More file actions
26 lines (23 loc) · 772 Bytes
/
day07.py
File metadata and controls
26 lines (23 loc) · 772 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from helpers.importHelpers import *
part1 = 0
part2 = 0
for line in getInput().splitlines():
result, numbers = line.split(":")
result = int(result)
numbers = list(map(int, numbers.split()))
# Part 1
previousResults = {numbers[0]}
for nextNum in numbers[1:]:
previousResults = {r for prev in previousResults for r in (prev+nextNum, prev*nextNum) if r <= result}
if result in previousResults:
part1 += result
part2 += result
continue
# Part 2
previousResults = {numbers[0]}
for nextNum in numbers[1:]:
previousResults = {r for prev in previousResults for r in (prev+nextNum, prev*nextNum, int(f'{prev}{nextNum}')) if r <= result}
if result in previousResults:
part2 += result
print("Part 1: ", part1)
print("Part 2: ", part2)