Skip to content

warriordog/advent-of-code-2022

Repository files navigation

advent-of-code-2022

My solutions to the 2022 Advent of Code challenge. I'm not competing on any leaderboards this year, but I do plan to complete both parts of all days. As usual, I'm also prioritizing readable code over compact or "magic" solutions. Feedback and questions are welcome!

Usage

  • From Rider IDE:
    1. select one of the included run configurations and click "Run" or "Debug".
  • From a terminal:
    1. Open a terminal and navigate to the solution root.
    2. Execute dotnet run --configuration Release --project Main -- <command> [options]
      • Supported commands:
        • list <what> - list data from internal registries. what specifies what data to return and can be one of these options:
          • solutions [day] [part] - list available solutions. day and part both default to all.
          • inputs [day] [part] [variant] - list registered input files for a solution. day, part, and variant all default to all.
        • run [day] [part] [variant] [options] - run one or more solutions. day and part both default to all. variant defaults to null, which means no variants will be selected. Supports options:
          • [--input {id | name | type}] - select a registered input file to use. Use list inputs to show all options. Applies to all selected days/parts.
          • [--custom-input path_to_input] - specify an custom, external input file to use. Applies to all selected days/parts.
        • bench [day] [part] [variant] [options] - benchmark one or more solutions. Supports same options and defaults as run, and additionally supports:
          • [--min-warmup-time time_in_ms] - set the minimum time (in milliseconds) to run warmup rounds (default 2000ms).
          • [--min-warmup-rounds num_rounds] - set the minimum number of warmup rounds (default 10).
          • [--min-sample-time time_in_ms] - set the minimum time (in milliseconds) to run sampling (benchmark) rounds (default 10000ms).
          • [--min-sample-rounds num_rounds] - set the minimum number of sampling (benchmark) rounds (default 10).
          • [--no-warmup] - skip warmup rounds entirely. Useful when using an external profiler.
        • --help [command] - show help.
        • --version - show project version.
      • Options:
        • --vebose - Show verbose / debug output. Defaults to off.
      • Parameters:
        • day - should be in Day## format. Can also be the string all to select all days.
        • part - should be in Part# format. Can also be the string all to select all parts.
        • variant - format is day/part-specific. Can also be the string all to select all variants.
        • path_to_input - if set, overrides the input file. Path is resolved relative to the current working directory.
        • command - if set, shows detailed help about a specific command.

Solutions

Day Part 1 Part 2 Name
Day16 Part1 incomplete Proboscidea Volcanium
Day15 Part1 Part2 Beacon Exclusion Zone
Day14 Part1 Part2 Regolith Reservoir
Day13 Part1 Part2 Distress Signal
Day12 Part1 Part2 Hill Climbing Algorithm
Day11 Part1 Part2 Monkey in the Middle
Day10 Part1 Part2 Cathode-Ray Tube
Day09 Part1 Part2 Rope Bridge
Day08 Part1 Part2 Treetop Tree House
Day07 Part1 Part2 No Space Left On Device
Day06 Part1 Part2 Tuning Trouble
Day05 Part1 Part2 Supply Stacks
Day04 Part1 Part2 Camp Cleanup
Day03 Part1 Part2 Rucksack Reorganization
Day02 Part1 Part2 Rock Paper Scissors
Day01 Part1 Part2 Calorie Counting

Details

  • Dotnet 6 is required to run the solutions.
  • Project files are included for JetBrains Rider, but the solution should work in Visual Studio or with the dotnet command line.
  • Solutions should run on any supported .NET platform.

About

My solutions to Advent of Code 2022

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages