2022 Day 01 Complete!
This commit is contained in:
parent
586ec1330e
commit
f77481e018
2269
2022/day01/input
Normal file
2269
2022/day01/input
Normal file
File diff suppressed because it is too large
Load Diff
44
2022/day01/main.go
Normal file
44
2022/day01/main.go
Normal file
@ -0,0 +1,44 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
h "git.bullercodeworks.com/brian/adventofcode/helpers"
|
||||
)
|
||||
|
||||
func main() {
|
||||
inp := h.StdinToStringSlice()
|
||||
fmt.Println("# Answer")
|
||||
solve(inp)
|
||||
}
|
||||
|
||||
func solve(input []string) {
|
||||
var elves []int
|
||||
var top1, top2, top3 int
|
||||
elf := 0
|
||||
var sum int
|
||||
record := func() {
|
||||
elves = append(elves, sum)
|
||||
if elf != 0 && sum > elves[top1] {
|
||||
top3, top2, top1 = top2, top1, elf
|
||||
} else if sum > elves[top2] {
|
||||
top3, top2 = top2, elf
|
||||
} else if sum > elves[top3] {
|
||||
top3 = elf
|
||||
}
|
||||
elf++
|
||||
sum = 0
|
||||
}
|
||||
for i := 0; i < len(input); i++ {
|
||||
if input[i] == "" {
|
||||
record()
|
||||
continue
|
||||
}
|
||||
sum = sum + h.Atoi(input[i])
|
||||
}
|
||||
record()
|
||||
fmt.Printf("The elf with the most calories is #%d (%d)\n", top1+1, elves[top1])
|
||||
fmt.Printf("The elf with the second most calories is #%d (%d)\n", top2+1, elves[top2])
|
||||
fmt.Printf("The elf with the third most calories is #%d (%d)\n", top3+1, elves[top3])
|
||||
fmt.Printf("Total by top three: %d\n", elves[top1]+elves[top2]+elves[top3])
|
||||
}
|
94
2022/day01/problem
Normal file
94
2022/day01/problem
Normal file
@ -0,0 +1,94 @@
|
||||
Advent of Code
|
||||
|
||||
br0xen (AoC++) 2*
|
||||
|
||||
--- Day 1: Calorie Counting ---
|
||||
|
||||
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?
|
||||
|
||||
Your puzzle answer was 72070.
|
||||
|
||||
--- Part Two ---
|
||||
|
||||
By the time you calculate the answer to the Elves' question, they've already realized that the Elf carrying the most Calories
|
||||
of food might eventually run out of snacks.
|
||||
|
||||
To avoid this unacceptable situation, the Elves would instead like to know the total Calories carried by the top three Elves
|
||||
carrying the most Calories. That way, even if one of those Elves runs out of snacks, they still have two backups.
|
||||
|
||||
In the example above, the top three Elves are the fourth Elf (with 24000 Calories), then the third Elf (with 11000 Calories),
|
||||
then the fifth Elf (with 10000 Calories). The sum of the Calories carried by these three elves is 45000.
|
||||
|
||||
Find the top three Elves carrying the most Calories. How many Calories are those Elves carrying in total?
|
||||
|
||||
Your puzzle answer was 211805.
|
||||
|
||||
Both parts of this puzzle are complete! They provide two gold stars: **
|
||||
|
||||
References
|
||||
|
||||
Visible links
|
||||
. https://adventofcode.com/
|
||||
. https://adventofcode.com/2022/about
|
||||
. https://adventofcode.com/2022/events
|
||||
. https://teespring.com/stores/advent-of-code
|
||||
. https://adventofcode.com/2022/settings
|
||||
. https://adventofcode.com/2022/auth/logout
|
||||
. Advent of Code Supporter
|
||||
https://adventofcode.com/2022/support
|
||||
. https://adventofcode.com/2022
|
||||
. https://adventofcode.com/2022
|
||||
. https://adventofcode.com/2022/support
|
||||
. https://adventofcode.com/2022/sponsors
|
||||
. https://adventofcode.com/2022/leaderboard
|
||||
. https://adventofcode.com/2022/stats
|
||||
. https://adventofcode.com/2022/sponsors
|
||||
. https://adventofcode.com/2018/day/25
|
||||
. https://adventofcode.com/2022
|
||||
. https://adventofcode.com/2022/day/1/input
|
14
2022/day01/testinput
Normal file
14
2022/day01/testinput
Normal file
@ -0,0 +1,14 @@
|
||||
1000
|
||||
2000
|
||||
3000
|
||||
|
||||
4000
|
||||
|
||||
5000
|
||||
6000
|
||||
|
||||
7000
|
||||
8000
|
||||
9000
|
||||
|
||||
10000
|
Loading…
Reference in New Issue
Block a user