Solve 2022/01
parent
f2821aac4c
commit
fc6103528f
@ -0,0 +1,68 @@
|
||||
https://adventofcode.com/2022/day/1
|
||||
|
||||
## \--- Day 1: Calorie Counting ---
|
||||
|
||||
Santa's reindeer typically eat regular reindeer food, but they need a lot of
|
||||
[magical energy](/2018/day/25) to deliver presents on Christmas. For that,
|
||||
their favorite snack is a special type of _star_ fruit that only grows deep in
|
||||
the jungle. The Elves have brought you on their annual expedition to the grove
|
||||
where the fruit grows.
|
||||
|
||||
To supply enough magical energy, the expedition needs to retrieve a minimum of
|
||||
_fifty stars_ by December 25th. Although the Elves assure you that the grove
|
||||
has plenty of fruit, you decide to grab any fruit you see along the way, just
|
||||
in case.
|
||||
|
||||
Collect stars by solving puzzles. Two puzzles will be made available on each
|
||||
day in the Advent calendar; the second puzzle is unlocked when you complete
|
||||
the first. Each puzzle grants _one star_. Good luck!
|
||||
|
||||
The jungle must be too overgrown and difficult to navigate in vehicles or
|
||||
access from the air; the Elves' expedition traditionally goes on foot. As your
|
||||
boats approach land, the Elves begin taking inventory of their supplies. One
|
||||
important consideration is food - in particular, the number of _Calories_ each
|
||||
Elf is carrying (your puzzle input).
|
||||
|
||||
The Elves take turns writing down the number of Calories contained by the
|
||||
various meals, snacks, rations, etc. that they've brought with them, one item
|
||||
per line. Each Elf separates their own inventory from the previous Elf's
|
||||
inventory (if any) by a blank line.
|
||||
|
||||
For example, suppose the Elves finish writing their items' Calories and end up
|
||||
with the following list:
|
||||
|
||||
[code]
|
||||
|
||||
1000
|
||||
2000
|
||||
3000
|
||||
|
||||
4000
|
||||
|
||||
5000
|
||||
6000
|
||||
|
||||
7000
|
||||
8000
|
||||
9000
|
||||
|
||||
10000
|
||||
|
||||
[/code]
|
||||
|
||||
This list represents the Calories of the food carried by five Elves:
|
||||
|
||||
* The first Elf is carrying food with `1000`, `2000`, and `3000` Calories, a total of `_6000_` Calories.
|
||||
* The second Elf is carrying one food item with `_4000_` Calories.
|
||||
* The third Elf is carrying food with `5000` and `6000` Calories, a total of `_11000_` Calories.
|
||||
* The fourth Elf is carrying food with `7000`, `8000`, and `9000` Calories, a total of `_24000_` Calories.
|
||||
* The fifth Elf is carrying one food item with `_10000_` Calories.
|
||||
|
||||
In case the Elves get hungry and need extra snacks, they need to know which
|
||||
Elf to ask: they'd like to know how many Calories are being carried by the Elf
|
||||
carrying the _most_ Calories. In the example above, this is _`24000`_ (carried
|
||||
by the fourth Elf).
|
||||
|
||||
Find the Elf carrying the most Calories. _How many total Calories is that Elf
|
||||
carrying?_
|
||||
|
@ -0,0 +1,14 @@
|
||||
1000
|
||||
2000
|
||||
3000
|
||||
|
||||
4000
|
||||
|
||||
5000
|
||||
6000
|
||||
|
||||
7000
|
||||
8000
|
||||
9000
|
||||
|
||||
10000
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,28 @@
|
||||
"""
|
||||
Part 1
|
||||
"""
|
||||
|
||||
print("Hello World!")
|
||||
|
||||
file = open("input/input", "r")
|
||||
|
||||
MAXIMUM = 0
|
||||
current = 0
|
||||
|
||||
for line in file.readlines():
|
||||
line = line.strip()
|
||||
|
||||
if line == "":
|
||||
# print("NEXT ELF")
|
||||
if current >= MAXIMUM:
|
||||
MAXIMUM = current
|
||||
current = 0
|
||||
else:
|
||||
line = int(line)
|
||||
current += line
|
||||
# print(line)
|
||||
|
||||
if current >= MAXIMUM:
|
||||
MAXIMUM = current
|
||||
|
||||
print(MAXIMUM)
|
@ -0,0 +1,31 @@
|
||||
"""
|
||||
Part 2
|
||||
"""
|
||||
|
||||
print("Hello World!")
|
||||
|
||||
file = open("input/input", "r")
|
||||
|
||||
ELVES = []
|
||||
current = 0
|
||||
|
||||
for line in file.readlines():
|
||||
line = line.strip()
|
||||
|
||||
if line == "":
|
||||
ELVES.append(current)
|
||||
current = 0
|
||||
else:
|
||||
line = int(line)
|
||||
current += line
|
||||
|
||||
ELVES.append(current)
|
||||
|
||||
|
||||
ELVES.sort()
|
||||
|
||||
ELVES = list(reversed(ELVES))
|
||||
|
||||
answer = ELVES[0] + ELVES[1] + ELVES[2]
|
||||
|
||||
print(answer)
|
Loading…
Reference in New Issue