Advent of Code 2015 Day 12
Part 1
regex, map() and reduce() for an easy win!
I need to calculate:
the sum of all the numbers in the document
One part regex:
/-*\d+/g
Two parts map() and reduce():
[...input.matchAll(/-*\d+/g)]
.map(el => +el[0])
.reduce((sum, num) => sum + num)
Voila! The correct answer!
Part 2
- Collapse, collapse, collapse
- Copy-paste-rerun
Collapse, collapse, collapse
- I viewed the parsed JSON in my web browser
- This shows the document as a collapsible tree of key-value pair
- I use
Find...to locate all references tored - Then collapsed each object containing
redas the value for one of its keys - Being sure not to collapse any arrays with
redas an element
It took about 20 minutes to collapse everything, then to double-check I didn't miss anything.
Copy-paste-rerun
- I copied the collapsed, parsed JSON as raw text into a new file
- And I ran my algorithm on that file
Thankfully, I caught everything, because it generated the correct answer!
I did it!!
- I solved both parts!
- Using
regex, my trusted array methods, and the toggle buttons in the parsed JSON view in my web browser! - In under a half hour!
I'm a bit sad I didn't use an algorithm to fully solve Part 2.
Although, I'm glad I didn't have to...thanks to my web browser's handy view!
This puzzle may be the first Post-Day-10 puzzle I solved in under a half hour.
Or maybe not.
Either way, on to the next one!
Top comments (0)