mirror of
https://github.com/rjNemo/advent_of_code_2022
synced 2026-06-06 02:26:41 +00:00
day1 part 1
This commit is contained in:
commit
58d1088518
8 changed files with 2433 additions and 0 deletions
92
.gitignore
vendored
Normal file
92
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
Icon
|
||||||
|
._*
|
||||||
|
.DocumentRevisions-V100
|
||||||
|
.fseventsd
|
||||||
|
.Spotlight-V100
|
||||||
|
.TemporaryItems
|
||||||
|
.Trashes
|
||||||
|
.VolumeIcon.icns
|
||||||
|
.com.apple.timemachine.donotpresent
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
*.so
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
cover/
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
.scrapy
|
||||||
|
docs/_build/
|
||||||
|
.pybuilder/
|
||||||
|
target/
|
||||||
|
.ipynb_checkpoints
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
__pypackages__/
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
*.sage.py
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
.ropeproject
|
||||||
|
/site
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
.pyre/
|
||||||
|
.pytype/
|
||||||
|
cython_debug/
|
||||||
0
README.md
Normal file
0
README.md
Normal file
53
day1/README.md
Normal file
53
day1/README.md
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
# Day 1
|
||||||
|
|
||||||
|
Santa's reindeer typically eat regular reindeer food, but they need a lot of magical energy 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:
|
||||||
|
|
||||||
|
```
|
||||||
|
1000
|
||||||
|
2000
|
||||||
|
3000
|
||||||
|
|
||||||
|
4000
|
||||||
|
|
||||||
|
5000
|
||||||
|
6000
|
||||||
|
|
||||||
|
7000
|
||||||
|
8000
|
||||||
|
9000
|
||||||
|
|
||||||
|
10000
|
||||||
|
```
|
||||||
|
|
||||||
|
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
day1/__init__.py
Normal file
0
day1/__init__.py
Normal file
2251
day1/input.txt
Normal file
2251
day1/input.txt
Normal file
File diff suppressed because it is too large
Load diff
15
day1/main.py
Normal file
15
day1/main.py
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
def max_calories() -> int:
|
||||||
|
with open("./input.txt", "r") as f:
|
||||||
|
calories = 0
|
||||||
|
tmp = 0
|
||||||
|
for line in f.readlines():
|
||||||
|
if (c := line.strip()) != "":
|
||||||
|
tmp += int(c)
|
||||||
|
else:
|
||||||
|
calories = max(calories, tmp)
|
||||||
|
tmp = 0
|
||||||
|
return calories
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(max_calories())
|
||||||
8
poetry.lock
generated
Normal file
8
poetry.lock
generated
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
package = []
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
lock-version = "1.1"
|
||||||
|
python-versions = "^3.11"
|
||||||
|
content-hash = "81b2fa642d7f2d1219cf80112ace12d689d053d81be7f7addb98144d56fc0fb2"
|
||||||
|
|
||||||
|
[metadata.files]
|
||||||
14
pyproject.toml
Normal file
14
pyproject.toml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
[tool.poetry]
|
||||||
|
name = "advent of code 2022"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = ""
|
||||||
|
authors = ["Ruidy <ruidy.nemausat@gmail.com>"]
|
||||||
|
readme = "README.md"
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.11"
|
||||||
|
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
||||||
Loading…
Reference in a new issue