Files
AoC-2020/day10/day10.py

52 lines
959 B
Python

def part1():
file = open("input.txt")
lines = [int(i) for i in file.readlines()]
lines = sorted(lines)
diffs = {1: 0, 3: 0}
diffs[lines[0]] += 1
lines.append(max(lines) + 3)
for i in range(1, len(lines)):
diff = lines[i] - lines[i - 1]
diffs[diff] += 1
print("Part 1 %d " % (diffs[1] * diffs[3]))
def count_options(og, adapters):
amount = 0
adap = list.copy(adapters)
if len(adap) == 1:
return 1
while True:
num = adap.pop(0)
if num > og + 3:
break
amount += count_options(num, adap)
return amount
def part2():
file = open("input.txt")
adapters = [0]
[adapters.append(int(i)) for i in file.readlines()]
adapters.append(max(adapters) + 3)
adapters = sorted(adapters)
og = adapters.pop(0)
ans = count_options(og, adapters)
print("Part 2: %d" % ans)
if __name__ == "__main__":
part1()
part2()