2022 Day 23 Complete
This commit is contained in:
102
2022/day21/problem
Normal file
102
2022/day21/problem
Normal file
@@ -0,0 +1,102 @@
|
||||
Advent of Code
|
||||
|
||||
• [About]
|
||||
• [Events]
|
||||
• [Shop]
|
||||
• [Settings]
|
||||
• [Log Out]
|
||||
|
||||
br0xen (AoC++) 35*
|
||||
|
||||
/*2022*/
|
||||
|
||||
• [Calendar]
|
||||
• [AoC++]
|
||||
• [Sponsors]
|
||||
• [Leaderboard]
|
||||
• [Stats]
|
||||
|
||||
Our sponsors help make Advent of Code possible:
|
||||
Teradyne - Do you like coding algorithms where milliseconds matter? What about nanoseconds?
|
||||
|
||||
--- Day 21: Monkey Math ---
|
||||
|
||||
The monkeys are back! You're worried they're going to try to steal your stuff again, but it seems like they're just
|
||||
holding their ground and making various monkey noises at you.
|
||||
|
||||
Eventually, one of the elephants realizes you don't speak monkey and comes over to interpret. As it turns out, they
|
||||
overheard you talking about trying to find the grove; they can show you a shortcut if you answer their riddle.
|
||||
|
||||
Each monkey is given a job: either to yell a specific number or to yell the result of a math operation. All of the
|
||||
number-yelling monkeys know their number from the start; however, the math operation monkeys need to wait for two other
|
||||
monkeys to yell a number, and those two other monkeys might also be waiting on other monkeys.
|
||||
|
||||
Your job is to work out the number the monkey named root will yell before the monkeys figure it out themselves.
|
||||
|
||||
For example:
|
||||
|
||||
root: pppw + sjmn
|
||||
dbpl: 5
|
||||
cczh: sllz + lgvd
|
||||
zczc: 2
|
||||
ptdq: humn - dvpt
|
||||
dvpt: 3
|
||||
lfqf: 4
|
||||
humn: 5
|
||||
ljgn: 2
|
||||
sjmn: drzm * dbpl
|
||||
sllz: 4
|
||||
pppw: cczh / lfqf
|
||||
lgvd: ljgn * ptdq
|
||||
drzm: hmdt - zczc
|
||||
hmdt: 32
|
||||
|
||||
Each line contains the name of a monkey, a colon, and then the job of that monkey:
|
||||
|
||||
• A lone number means the monkey's job is simply to yell that number.
|
||||
• A job like aaaa + bbbb means the monkey waits for monkeys aaaa and bbbb to yell each of their numbers; the monkey
|
||||
then yells the sum of those two numbers.
|
||||
• aaaa - bbbb means the monkey yells aaaa's number minus bbbb's number.
|
||||
• Job aaaa * bbbb will yell aaaa's number multiplied by bbbb's number.
|
||||
• Job aaaa / bbbb will yell aaaa's number divided by bbbb's number.
|
||||
|
||||
So, in the above example, monkey drzm has to wait for monkeys hmdt and zczc to yell their numbers. Fortunately, both
|
||||
hmdt and zczc have jobs that involve simply yelling a single number, so they do this immediately: 32 and 2. Monkey drzm
|
||||
can then yell its number by finding 32 minus 2: 30.
|
||||
|
||||
Then, monkey sjmn has one of its numbers (30, from monkey drzm), and already has its other number, 5, from dbpl. This
|
||||
allows it to yell its own number by finding 30 multiplied by 5: 150.
|
||||
|
||||
This process continues until root yells a number: 152.
|
||||
|
||||
However, your actual situation involves considerably more monkeys. What number will the monkey named root yell?
|
||||
|
||||
To begin, get your puzzle input.
|
||||
|
||||
Answer: _____________________ [ [Submit] ]
|
||||
|
||||
You can also [Shareon Twitter Mastodon] this puzzle.
|
||||
|
||||
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://jobs.teradyne.com/?utm_source=adventofcode&utm_medium=ad&utm_campaign=2022
|
||||
. https://adventofcode.com/2022/day/11
|
||||
. https://adventofcode.com/2022/day/21/input
|
||||
. https://twitter.com/intent/tweet?text=%22Monkey+Math%22+%2D+Day+21+%2D+Advent+of+Code+2022&url=https%3A%2F%2Fadventofcode%2Ecom%2F2022%2Fday%2F21&related=ericwastl&hashtags=AdventOfCode
|
||||
. javascript:void(0);
|
Reference in New Issue
Block a user