lcm, rotate!, and modulo - Day 08 - Advent of Code 2023
Learn how to solve day 8 of Advent of Code 2023 - The Haunted Wasteland - in this Ruby tutorial.
We'll cover:
Parsing the input data into directions and a graph representation
Navigating the graph by rotating through direction turns
Finding paths in the graph from starting to ending nodes
Handling Part 2 where paths start from multiple nodes
Using the modulo operator and lcm method to align ending points
Refactoring to allow re-use for both parts with a block
This solution demonstrates some elegant Ruby data structures and methods like rotate, lcm, and inject to concisely traverse a directed graph. The code walkthrough explains the initial thought process and a failed solution attempt before arriving at the final answer.
Advent of Code: https://adventofcode.com/
My Solutions: https://gist.github.com/cjavdev/d15a2a4ffed6c840c2fb28a093e9f927/
Playlist https://www.youtube.com/playlist?list=PLS6F722u-R6KYlGyUv65EFpGKl2Esmurr
#adventofcode #ruby