Retroactivly solve Advent of Code Challenges
- problem: count characters
- key insight: none
- problem: calculate area
- key indight: none
- problem: count unique Positions on a 2D-grid
- key insight: HashSet would suffice
- problem: find MD5-Checksum
- key insight: use a library for MD5
- problem: decide if Strings obey certain rules
- key insight: regex!
- problem: update state of a 1000x1000 grid
- key insight: brute force works
- problem: traverse a tree of instructions
- key insight: dynamic programming works
- problem: escape characters in regex
- key insight: more backslashed than you think
- problem: traveling salesman
- key insight: input size is small enough for brute force, both parts can be solved at once
- problem: numbers to strings
- key insight: none
- problem: decide if Strings obay certain rules
- key insight: none
- problem: parse JSON
- key insight: JSON, recursion and iterators
- problem: finding optimal permutation
- key insight: reuse code form Day 09
- problem: calculate state given parameters
- key insight: problem can be solved without simulation
- problem: finding optimal permutation
- key insight: input size is small enough for brute force
- problem: find fuzzy match
- key insight: problem becomes trivial after setting up correct data structure
- problem: finding all combinations
- key insight: bit set for combinations, solve both parts at once
- problem: Conway's Game Of Life
- key insight: visual debugging
- problem: String manipulations
- key insight: none
- problem: factorization of a number
- key insight: it's not prime-factorization...
- problem: finding optimal combination
- key insight: for loops does the job
- problem: finding optimal combination
- key insight: recursion works, but everything in one function is clunky
- problem: assembly-logic
- key insight: none
- problem: optimize combinations
- key insight: finding the actual combination is not necessary
- problem: calculate sequence
- key insight: Gauss sum