My solutions using scala3, with some coding rules :
- no side effects,
- no mutable data structure,
- readable, maintainable and easily understandable,
Solutions :
- day01 - ok
- day02 - ok
- day03 - ok
- day04 - ok - ranges
- day05 - ok - but readability could be enhanced
- day06 - ok
- day07 - ok - Refactored to generalize my own paths/tree conversion functions for reuse purposes
- day08 - ok
- day09 - ok
- day10 - ok - using ZStream
- day11 - ok
- day12 - ok - Refactored to generalize shortestPath algorithm - TODO try Dijkstra
- day13 - ok - using parser combinator :) good reminder
- day14 - ok
- day15 - ok - ranges - requires some cleanup/refactoring - ranges functions can be generalized
- day16 - WIP - graphs - Travelling salesman problem detected and mandatory 14! possible solutions for star1
- day17 - ok - reusable cycle detection algorithm but requires refactoring
- day18 - ok