141 lines
6.4 KiB
Plaintext
141 lines
6.4 KiB
Plaintext
Advent of Code
|
||
|
||
• [About]
|
||
• [Events]
|
||
• [Shop]
|
||
• [Settings]
|
||
• [Log Out]
|
||
|
||
br0xen (AoC++) 6*
|
||
|
||
/*2022*/
|
||
|
||
• [Calendar]
|
||
• [AoC++]
|
||
• [Sponsors]
|
||
• [Leaderboard]
|
||
• [Stats]
|
||
|
||
Our sponsors help make Advent of Code possible:
|
||
Spotify - Follow our engineering blog to see how our developers solve complex tech problems, at scale, every day.
|
||
|
||
--- Day 3: Rucksack Reorganization ---
|
||
|
||
One Elf has the important job of loading all of the rucksacks with supplies for the jungle journey. Unfortunately, that
|
||
Elf didn't quite follow the packing instructions, and so a few items now need to be rearranged.
|
||
|
||
Each rucksack has two large compartments. All items of a given type are meant to go into exactly one of the two
|
||
compartments. The Elf that did the packing failed to follow this rule for exactly one item type per rucksack.
|
||
|
||
The Elves have made a list of all of the items currently in each rucksack (your puzzle input), but they need your help
|
||
finding the errors. Every item type is identified by a single lowercase or uppercase letter (that is, a and A refer to
|
||
different types of items).
|
||
|
||
The list of items for each rucksack is given as characters all on a single line. A given rucksack always has the same
|
||
number of items in each of its two compartments, so the first half of the characters represent items in the first
|
||
compartment, while the second half of the characters represent items in the second compartment.
|
||
|
||
For example, suppose you have the following list of contents from six rucksacks:
|
||
|
||
vJrwpWtwJgWrhcsFMMfFFhFp
|
||
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||
PmmdzqPrVvPwwTWBwg
|
||
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||
ttgJtRGJQctTZtZT
|
||
CrZsJsPPZsGzwwsLwLmpwMDw
|
||
|
||
• The first rucksack contains the items vJrwpWtwJgWrhcsFMMfFFhFp, which means its first compartment contains the items
|
||
vJrwpWtwJgWr, while the second compartment contains the items hcsFMMfFFhFp. The only item type that appears in both
|
||
compartments is lowercase p.
|
||
• The second rucksack's compartments contain jqHRNqRjqzjGDLGL and rsFMfFZSrLrFZsSL. The only item type that appears in
|
||
both compartments is uppercase L.
|
||
• The third rucksack's compartments contain PmmdzqPrV and vPwwTWBwg; the only common item type is uppercase P.
|
||
• The fourth rucksack's compartments only share item type v.
|
||
• The fifth rucksack's compartments only share item type t.
|
||
• The sixth rucksack's compartments only share item type s.
|
||
|
||
To help prioritize item rearrangement, every item type can be converted to a priority:
|
||
|
||
• Lowercase item types a through z have priorities 1 through 26.
|
||
• Uppercase item types A through Z have priorities 27 through 52.
|
||
|
||
In the above example, the priority of the item type that appears in both compartments of each rucksack is 16 (p), 38
|
||
(L), 42 (P), 22 (v), 20 (t), and 19 (s); the sum of these is 157.
|
||
|
||
Find the item type that appears in both compartments of each rucksack. What is the sum of the priorities of those item
|
||
types?
|
||
|
||
Your puzzle answer was 7967.
|
||
|
||
--- Part Two ---
|
||
|
||
As you finish identifying the misplaced items, the Elves come to you with another issue.
|
||
|
||
For safety, the Elves are divided into groups of three. Every Elf carries a badge that identifies their group. For
|
||
efficiency, within each group of three Elves, the badge is the only item type carried by all three Elves. That is, if a
|
||
group's badge is item type B, then all three Elves will have item type B somewhere in their rucksack, and at most two of
|
||
the Elves will be carrying any other item type.
|
||
|
||
The problem is that someone forgot to put this year's updated authenticity sticker on the badges. All of the badges need
|
||
to be pulled out of the rucksacks so the new authenticity stickers can be attached.
|
||
|
||
Additionally, nobody wrote down which item type corresponds to each group's badges. The only way to tell which item type
|
||
is the right one is by finding the one item type that is common between all three Elves in each group.
|
||
|
||
Every set of three lines in your list corresponds to a single group, but each group can have a different badge item
|
||
type. So, in the above example, the first group's rucksacks are the first three lines:
|
||
|
||
vJrwpWtwJgWrhcsFMMfFFhFp
|
||
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||
PmmdzqPrVvPwwTWBwg
|
||
|
||
And the second group's rucksacks are the next three lines:
|
||
|
||
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||
ttgJtRGJQctTZtZT
|
||
CrZsJsPPZsGzwwsLwLmpwMDw
|
||
|
||
In the first group, the only item type that appears in all three rucksacks is lowercase r; this must be their badges. In
|
||
the second group, their badge item type must be Z.
|
||
|
||
Priorities for these items must still be found to organize the sticker attachment efforts: here, they are 18 (r) for the
|
||
first group and 52 (Z) for the second group. The sum of these is 70.
|
||
|
||
Find the item type that corresponds to the badges of each three-Elf group. What is the sum of the priorities of those
|
||
item types?
|
||
|
||
Your puzzle answer was 2716.
|
||
|
||
Both parts of this puzzle are complete! They provide two gold stars: **
|
||
|
||
At this point, you should return to your Advent calendar and try another puzzle.
|
||
|
||
If you still want to see it, you can get your puzzle input.
|
||
|
||
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://engineering.atspotify.com/
|
||
. https://en.wikipedia.org/wiki/Rucksack
|
||
. https://adventofcode.com/2022
|
||
. https://adventofcode.com/2022/day/3/input
|
||
. https://twitter.com/intent/tweet?text=I%27ve+completed+%22Rucksack+Reorganization%22+%2D+Day+3+%2D+Advent+of+Code+2022&url=https%3A%2F%2Fadventofcode%2Ecom%2F2022%2Fday%2F3&related=ericwastl&hashtags=AdventOfCode
|
||
. javascript:void(0);
|