Principles:
- Functional LINQ approach without mutable state
- Single class per day - for writing extension methods, a static class is required
- No framework - each day is self-contained except for loading input
- Neglect memory and performance - Unless it's fun to optimize
It's day 15 and the puzzles drained all my brain juice. I feel like a squeezed lemon ;) It's day 21 and I gave up writing clean code long time ago :/