2020-12-02 21:34:21 +01:00
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
# Copyright (c) 2019 Akumatic
|
|
|
|
#
|
|
|
|
# https://adventofcode.com/2019/day/1
|
2019-12-01 22:19:33 +01:00
|
|
|
|
2020-12-02 21:34:21 +01:00
|
|
|
def readFile() -> list:
|
2019-12-02 21:39:49 +01:00
|
|
|
with open(f"{__file__.rstrip('code.py')}input.txt", "r") as f:
|
2019-12-01 22:19:33 +01:00
|
|
|
return [int(line[:-1]) for line in f.readlines()]
|
|
|
|
|
2020-12-02 21:34:21 +01:00
|
|
|
def part1(vals: list) -> int:
|
2019-12-01 22:19:33 +01:00
|
|
|
return sum([val // 3 - 2 for val in vals])
|
|
|
|
|
2020-12-02 21:34:21 +01:00
|
|
|
def part2(vals: list) -> int:
|
2019-12-01 22:19:33 +01:00
|
|
|
fuel = [val // 3 - 2 for val in vals]
|
|
|
|
for f in fuel:
|
|
|
|
temp = f // 3 - 2
|
|
|
|
if temp > 0:
|
|
|
|
fuel.append(temp)
|
|
|
|
return sum(fuel)
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
vals = readFile()
|
|
|
|
print(f"Part 1: {part1(vals)}")
|
|
|
|
print(f"Part 2: {part2(vals)}")
|