This is my work for the Advent of Code for 2022. I don't normally do this and frankly I'm not doing this for any speed challenge or anything (noted especially since I started this in December and finished on 3/7/23). I began by doing this in Python, a language I am very familiar with, and decided I might as well try to force myself to do this in Go. It's a language that I'm trying to learn more about and frankly I'm loving it. It's a simpler language that is extremely fast and powerful. I do enjoy it a lot. That said, I'm hoping that after the AOC I will be significantly more adept at Go and can use it for personal projects. Looking forward to it!
And having finished the challenge, I can say that I feel a lot more comfortable in Go!
For now though, I will use this as a "Table of Contents" of sort to link to specific things I learned so that I can quickly reference them later.
- Beginning to learn structs
- Starting to work with Pointers
- Beginning to work with 2-D Arrays
- Statefulness, moving around 2-D Area
- More complex statefulness, Draw on CRT
- Statefulness with complex structs, monkeys to be specific
- 2-Dimensional Traversal
- The (somewhat hidden) enum datatype in Go
- Queues in Go
- Stacks in Go
- Empty Interfaces
- Merge Sort
- Falling Sand in 2-Dimensional Space
- Creating a Finite Set in Go
- Depth-First-Search
- Floyd-Warshall Algorithm
- Multi-Dimensional Maps
- Timing my Code
- Adding Command-Line Arguments
- "Binary Hashing"
- Ridiculous Math
- De-Duplicating Items from Slice
- Breadth-First-Search - also - also
- Another way to De-duplicate Items from Slice
- Anonymous Functions
- Another example of Depth-First-Search
- Circular Bidirectional Linked Lists
- Read characters byte by byte
- Euclidean Modulus
- Regular Expressions
- Matrix Decision Tree
- Comparing Structs
- Deep Copy Structs
- Handling Rune Arrays (and printing them properly too)
- Conversion to Base-5
- Referencing individual chars in a string by index