Upload day01
This commit is contained in:
commit
e302e0e016
|
@ -0,0 +1,3 @@
|
|||
d=sorted([sum(map(int,x))for x in[z.split()for z in open(0).read().split("\n\n")]]);print(d[-1],sum(d[-3:]))
|
||||
|
||||
# 108 bytes, requires piped input. `cat input.txt | python3 golf.py`
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,14 @@
|
|||
1000
|
||||
2000
|
||||
3000
|
||||
|
||||
4000
|
||||
|
||||
5000
|
||||
6000
|
||||
|
||||
7000
|
||||
8000
|
||||
9000
|
||||
|
||||
10000
|
|
@ -0,0 +1,41 @@
|
|||
# The data is a list of calories of each fooditem carried by the elves.
|
||||
# Each line is one item, just the number of calories.
|
||||
# Elves are separated by an empty line
|
||||
|
||||
DEBUG = False
|
||||
|
||||
# Read the input file into a list of elves, each of which is a list of calories
|
||||
with open("input.txt", "r") as f:
|
||||
# Split on empty lines. Each elf into its own string.
|
||||
data = f.read()[:-1].split("\n\n")
|
||||
|
||||
# Split on newlines. Each elf into its own array, with each line into its own string.
|
||||
data = [x.split("\n") for x in data]
|
||||
# Parse data to integer. Same as above, but each line is an integer.
|
||||
data = [[int(y) for y in x] for x in data]
|
||||
|
||||
if DEBUG: print("All data: ", data)
|
||||
|
||||
|
||||
# Part 1
|
||||
# Find the Elf carrying the most Calories. How many total Calories is that Elf carrying?
|
||||
|
||||
sums = [sum(x) for x in data]
|
||||
if DEBUG: print("All sums: ", sums)
|
||||
|
||||
# Sort the sums
|
||||
sums.sort()
|
||||
# print("Sorted sums: ", sums)
|
||||
|
||||
print("======")
|
||||
print("Part 1: ", sums[-1])
|
||||
print("======")
|
||||
|
||||
# Part 2
|
||||
# Find the top three Elves carrying the most Calories. How many Calories are those Elves carrying in total?
|
||||
|
||||
if DEBUG: print("Top 3: ", sums[-3:])
|
||||
|
||||
print("======")
|
||||
print("Part 2: ", sum(sums[-3:]))
|
||||
print("======")
|
Loading…
Reference in New Issue