47/50 this year which was a personal best.
Kotlin seems to produce consistently lower line counts than Java. The syntax for common operations like sort, map and filter is more memorable.
Day 12 part 2 was the most enlightening exercise.
Part 1 was quickly solved using global vars. It took alot of thought to successfully refactor the visit method into something with a cachable method signature.