182 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			182 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [1]Advent of Code
 | ||
| 
 | ||
| br0xen [7](AoC++) 14*
 | ||
| 
 | ||
| --- Day 7: Camel Cards ---
 | ||
| 
 | ||
|    Your all-expenses-paid trip turns out to be a one-way, five-minute ride in
 | ||
|    an [16]airship. (At least it's a cool airship!) It drops you off at the
 | ||
|    edge of a vast desert and descends back to Island Island.
 | ||
| 
 | ||
|    "Did you bring the parts?"
 | ||
| 
 | ||
|    You turn around to see an Elf completely covered in white clothing,
 | ||
|    wearing goggles, and riding a large [17]camel.
 | ||
| 
 | ||
|    "Did you bring the parts?" she asks again, louder this time. You aren't
 | ||
|    sure what parts she's looking for; you're here to figure out why the sand
 | ||
|    stopped.
 | ||
| 
 | ||
|    "The parts! For the sand, yes! Come with me; I will show you." She beckons
 | ||
|    you onto the camel.
 | ||
| 
 | ||
|    After riding a bit across the sands of Desert Island, you can see what
 | ||
|    look like very large rocks covering half of the horizon. The Elf explains
 | ||
|    that the rocks are all along the part of Desert Island that is directly
 | ||
|    above Island Island, making it hard to even get there. Normally, they use
 | ||
|    big machines to move the rocks and filter the sand, but the machines have
 | ||
|    broken down because Desert Island recently stopped receiving the parts
 | ||
|    they need to fix the machines.
 | ||
| 
 | ||
|    You've already assumed it'll be your job to figure out why the parts
 | ||
|    stopped when she asks if you can help. You agree automatically.
 | ||
| 
 | ||
|    Because the journey will take a few days, she offers to teach you the game
 | ||
|    of Camel Cards. Camel Cards is sort of similar to [18]poker except it's
 | ||
|    designed to be easier to play while riding a camel.
 | ||
| 
 | ||
|    In Camel Cards, you get a list of hands, and your goal is to order them
 | ||
|    based on the strength of each hand. A hand consists of five cards labeled
 | ||
|    one of A, K, Q, J, T, 9, 8, 7, 6, 5, 4, 3, or 2. The relative strength of
 | ||
|    each card follows this order, where A is the highest and 2 is the lowest.
 | ||
| 
 | ||
|    Every hand is exactly one type. From strongest to weakest, they are:
 | ||
| 
 | ||
|      • Five of a kind, where all five cards have the same label: AAAAA
 | ||
|      • Four of a kind, where four cards have the same label and one card has
 | ||
|        a different label: AA8AA
 | ||
|      • Full house, where three cards have the same label, and the remaining
 | ||
|        two cards share a different label: 23332
 | ||
|      • Three of a kind, where three cards have the same label, and the
 | ||
|        remaining two cards are each different from any other card in the
 | ||
|        hand: TTT98
 | ||
|      • Two pair, where two cards share one label, two other cards share a
 | ||
|        second label, and the remaining card has a third label: 23432
 | ||
|      • One pair, where two cards share one label, and the other three cards
 | ||
|        have a different label from the pair and each other: A23A4
 | ||
|      • High card, where all cards' labels are distinct: 23456
 | ||
| 
 | ||
|    Hands are primarily ordered based on type; for example, every full house
 | ||
|    is stronger than any three of a kind.
 | ||
| 
 | ||
|    If two hands have the same type, a second ordering rule takes effect.
 | ||
|    Start by comparing the first card in each hand. If these cards are
 | ||
|    different, the hand with the stronger first card is considered stronger.
 | ||
|    If the first card in each hand have the same label, however, then move on
 | ||
|    to considering the second card in each hand. If they differ, the hand with
 | ||
|    the higher second card wins; otherwise, continue with the third card in
 | ||
|    each hand, then the fourth, then the fifth.
 | ||
| 
 | ||
|    So, 33332 and 2AAAA are both four of a kind hands, but 33332 is stronger
 | ||
|    because its first card is stronger. Similarly, 77888 and 77788 are both a
 | ||
|    full house, but 77888 is stronger because its third card is stronger (and
 | ||
|    both hands have the same first and second card).
 | ||
| 
 | ||
|    To play Camel Cards, you are given a list of hands and their corresponding
 | ||
|    bid (your puzzle input). For example:
 | ||
| 
 | ||
|  32T3K 765
 | ||
|  T55J5 684
 | ||
|  KK677 28
 | ||
|  KTJJT 220
 | ||
|  QQQJA 483
 | ||
| 
 | ||
|    This example shows five hands; each hand is followed by its bid amount.
 | ||
|    Each hand wins an amount equal to its bid multiplied by its rank, where
 | ||
|    the weakest hand gets rank 1, the second-weakest hand gets rank 2, and so
 | ||
|    on up to the strongest hand. Because there are five hands in this example,
 | ||
|    the strongest hand will have rank 5 and its bid will be multiplied by 5.
 | ||
| 
 | ||
|    So, the first step is to put the hands in order of strength:
 | ||
| 
 | ||
|      • 32T3K is the only one pair and the other hands are all a stronger
 | ||
|        type, so it gets rank 1.
 | ||
|      • KK677 and KTJJT are both two pair. Their first cards both have the
 | ||
|        same label, but the second card of KK677 is stronger (K vs T), so
 | ||
|        KTJJT gets rank 2 and KK677 gets rank 3.
 | ||
|      • T55J5 and QQQJA are both three of a kind. QQQJA has a stronger first
 | ||
|        card, so it gets rank 5 and T55J5 gets rank 4.
 | ||
| 
 | ||
|    Now, you can determine the total winnings of this set of hands by adding
 | ||
|    up the result of multiplying each hand's bid with its rank (765 * 1 + 220
 | ||
|    * 2 + 28 * 3 + 684 * 4 + 483 * 5). So the total winnings in this example
 | ||
|    are 6440.
 | ||
| 
 | ||
|    Find the rank of every hand in your set. What are the total winnings?
 | ||
| 
 | ||
|    Your puzzle answer was 251287184.
 | ||
| 
 | ||
| --- Part Two ---
 | ||
| 
 | ||
|    To make things a little more interesting, the Elf introduces one
 | ||
|    additional rule. Now, J cards are [19]jokers - wildcards that can act like
 | ||
|    whatever card would make the hand the strongest type possible.
 | ||
| 
 | ||
|    To balance this, J cards are now the weakest individual cards, weaker even
 | ||
|    than 2. The other cards stay in the same order: A, K, Q, T, 9, 8, 7, 6, 5,
 | ||
|    4, 3, 2, J.
 | ||
| 
 | ||
|    J cards can pretend to be whatever card is best for the purpose of
 | ||
|    determining hand type; for example, QJJQ2 is now considered four of a
 | ||
|    kind. However, for the purpose of breaking ties between two hands of the
 | ||
|    same type, J is always treated as J, not the card it's pretending to be:
 | ||
|    JKKK2 is weaker than QQQQ2 because J is weaker than Q.
 | ||
| 
 | ||
|    Now, the above example goes very differently:
 | ||
| 
 | ||
|  32T3K 765
 | ||
|  T55J5 684
 | ||
|  KK677 28
 | ||
|  KTJJT 220
 | ||
|  QQQJA 483
 | ||
| 
 | ||
|      • 32T3K is still the only one pair; it doesn't contain any jokers, so
 | ||
|        its strength doesn't increase.
 | ||
|      • KK677 is now the only two pair, making it the second-weakest hand.
 | ||
|      • T55J5, KTJJT, and QQQJA are now all four of a kind! T55J5 gets rank 3,
 | ||
|        QQQJA gets rank 4, and KTJJT gets rank 5.
 | ||
| 
 | ||
|    With the new joker rule, the total winnings in this example are 5905.
 | ||
| 
 | ||
|    Using the new joker rule, find the rank of every hand in your set. What
 | ||
|    are the new total winnings?
 | ||
| 
 | ||
|    Your puzzle answer was 250757288.
 | ||
| 
 | ||
|    Both parts of this puzzle are complete! They provide two gold stars: **
 | ||
| 
 | ||
|    At this point, you should [20]return to your Advent calendar and try
 | ||
|    another puzzle.
 | ||
| 
 | ||
|    If you still want to see it, you can [21]get your puzzle input.
 | ||
| 
 | ||
|    You can also [Shareon [22]Twitter [23]Mastodon] this puzzle.
 | ||
| 
 | ||
| References
 | ||
| 
 | ||
|    Visible links
 | ||
|    1. https://adventofcode.com/
 | ||
|    2. https://adventofcode.com/2023/about
 | ||
|    3. https://adventofcode.com/2023/events
 | ||
|    4. https://teespring.com/stores/advent-of-code
 | ||
|    5. https://adventofcode.com/2023/settings
 | ||
|    6. https://adventofcode.com/2023/auth/logout
 | ||
|    7. Advent of Code Supporter
 | ||
| 	https://adventofcode.com/2023/support
 | ||
|    8. https://adventofcode.com/2023
 | ||
|    9. https://adventofcode.com/2023
 | ||
|   10. https://adventofcode.com/2023/support
 | ||
|   11. https://adventofcode.com/2023/sponsors
 | ||
|   12. https://adventofcode.com/2023/leaderboard
 | ||
|   13. https://adventofcode.com/2023/stats
 | ||
|   14. https://adventofcode.com/2023/sponsors
 | ||
|   15. https://shopify.engineering/
 | ||
|   16. https://en.wikipedia.org/wiki/Airship
 | ||
|   17. https://en.wikipedia.org/wiki/Dromedary
 | ||
|   18. https://en.wikipedia.org/wiki/List_of_poker_hands
 | ||
|   19. https://en.wikipedia.org/wiki/Joker_(playing_card)
 | ||
|   20. https://adventofcode.com/2023
 | ||
|   21. https://adventofcode.com/2023/day/7/input
 | ||
|   22. https://twitter.com/intent/tweet?text=I%27ve+completed+%22Camel+Cards%22+%2D+Day+7+%2D+Advent+of+Code+2023&url=https%3A%2F%2Fadventofcode%2Ecom%2F2023%2Fday%2F7&related=ericwastl&hashtags=AdventOfCode
 | ||
|   23. javascript:void(0);
 |