47 lines
1.0 KiB
Python
47 lines
1.0 KiB
Python
#!/usr/bin/python3
|
|
from pathlib import Path
|
|
|
|
|
|
def part_1(input):
|
|
last_number = int(input[0])
|
|
result = 0
|
|
for line in input:
|
|
if last_number < int(line):
|
|
result += 1
|
|
last_number = int(line)
|
|
print("Part 1 result:", result)
|
|
|
|
|
|
def part_2(input):
|
|
sums = list()
|
|
for i in range(len(input) - 2):
|
|
sums.append(int(input[i]))
|
|
sums[i] += int(input[i + 1])
|
|
sums[i] += int(input[i + 2])
|
|
last_number = sums[0]
|
|
result = 0
|
|
for number in sums:
|
|
if last_number < number:
|
|
result += 1
|
|
last_number = number
|
|
print("Part 2 result:", result)
|
|
|
|
|
|
def alt_solution(input, num_summands):
|
|
result = 0
|
|
for i in range(len(input) - num_summands):
|
|
if int(input[i]) < int(input[i + num_summands]):
|
|
result += 1
|
|
print("Alternative result:", result, ", summands =", num_summands)
|
|
|
|
|
|
input = list()
|
|
p = Path(__file__).with_name('input.txt')
|
|
with open(p) as f:
|
|
input = f.readlines()
|
|
|
|
part_1(input)
|
|
part_2(input)
|
|
alt_solution(input, 1)
|
|
alt_solution(input, 3)
|