Day 1 completed
This commit is contained in:
11
day1/common.py
Normal file
11
day1/common.py
Normal file
@@ -0,0 +1,11 @@
|
||||
def parse(filename: str) -> list[list[int]]:
|
||||
elves = []
|
||||
elf = []
|
||||
with open(filename, "r") as f:
|
||||
while line := f.readline():
|
||||
if line == "\n":
|
||||
elves.append(elf)
|
||||
elf = []
|
||||
else:
|
||||
elf.append(int(line[:-1]))
|
||||
return elves
|
||||
14
day1/part1.py
Normal file
14
day1/part1.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from common import parse
|
||||
|
||||
|
||||
def solve(elves: list[list[int]]) -> int:
|
||||
return (sorted(map(sum, elves), reverse=True))[0]
|
||||
|
||||
|
||||
def main():
|
||||
elves = parse("input")
|
||||
print(solve(elves))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
14
day1/part2.py
Normal file
14
day1/part2.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from common import parse
|
||||
|
||||
|
||||
def solve(elves: list[list[int]]) -> int:
|
||||
return sum(list(sorted(map(sum, elves), reverse=True))[0:3])
|
||||
|
||||
|
||||
def main():
|
||||
elves = parse("input")
|
||||
print(solve(elves))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user