Day 2: Red-Nosed Reports
Megathread guidelines
- Keep top level comments as only solutions, if you want to say something other than a solution put it in a new post. (replies to comments can be whatever)
- You can send code in code blocks by using three backticks, the code, and then three backticks or use something such as https://blocks.programming.dev if you prefer sending it through a URL
FAQ
- What is this?: Here is a post with a large amount of details: https://programming.dev/post/22323136
- Where do I participate?: https://adventofcode.com/
- Is there a leaderboard for the community?: We have a programming.dev leaderboard with the info on how to join in this post: https://programming.dev/post/6631465
You are viewing a single thread.
View all comments 1 point
Uiua
Took me a bit longer to get this one but still quite simple overall.
Spent quite some time on getting to know the try
and assert
operators better.
Run with example input here
# Get the indices matching the ascending/
# descending criteria
CheckAsc â âĄÂ°âĄâ(âŁ(âžâ€.ââ.)âŁ(âžâ€.âââ.)0)
# Get the indices matching the distance criteria
CheckDist â âĄÂ°âĄâ(âŁ(âžâ€.â 1â:0)0Ăââ„â€1,3â”â§-)
Split â â(âœâ 1)âœ,,
PartOne â (
&rs â &fo "input-2.txt"
â(âĄâââ @ .)â @\n.
CheckAsc.
âœ
CheckDist
⧻â
)
PartTwo â (
&rs â &fo "input-2.txt"
â(âĄâââ @ .)â @\n.
CheckAsc.
Split
CheckDist.
Split
â(â)
⧻
:
â(âĄ(âœ:°â)â€ââ:â 1â=.âĄâ§».)
âĄ(⧻âCheckDistâœCheckAsc.°âĄ)
+⧻âŽâ
)
&p "Day 2:"
&pf "Part 1: "
&p PartOne
&pf "Part 2: "
&p PartTwo