Skip to content

C# Solution for the advent of code 2021. Trying to copy my own Kotlin solution. Using template from https://github.com/eduherminio/AdventOfCode.Template

License

Notifications You must be signed in to change notification settings

XReaper95/AdventOfCode2021CSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AdventOfCode.Template

CI

Advent of Code template based on AoCHelper project.

It allows you to focus on solving AoC puzzles while providing you with some performance stats.

Problem example:

using AoCHelper;
using System.Threading.Tasks;

namespace AdventOfCode
{
    public class Day_01 : BaseDay
    {
        public override ValueTask<string> Solve_1() => new("Solution 1");

        public override ValueTask<string> Solve_2() => new("Solution 2");
    }
}

Output example:

aochelper

Basic usage

  • Create one class per advent day, following DayXX or Day_XX naming convention and implementing AoCHelper.BaseDay.
  • Place input files under Inputs/ dir, following XX.txt convention.
  • Read the input content from InputFilePath and solve the puzzle by implementing Solve_1() and Solve_2()!

By default, only your last problem will be solved when running the project. You can change that by behavior by modifying Program.cs.

Invoking different methods:

  • Solver.SolveAll(); → solves all the days.

  • Solver.SolveLast(); → solves only the last day.

  • Solver.Solve<Day_XX>(); → solves only day XX.

  • Solver.Solve(new uint[] { XX, YY }); → solves only days XX and YY.

  • Solver.Solve(new [] { typeof(Day_XX), typeof(Day_YY) }); → same as above.

Providing a custom SolverConfiguration instance to any of those methods (availabe options described here):

  • Solver.SolveLast(new SolverConfiguration() { ClearConsole = false } ); → solves only the last day providing a custom configuration.

  • Solver.SolveAll(new SolverConfiguration() { ShowConstructorElapsedTime = true, ShowTotalElapsedTimePerDay = true, ElapsedTimeFormatSpecifier = "F3" } ); → solves all the days providing a custom configuration.

Advanced usage

Check AoCHelper README file for detailed information about how to override the default file naming and location conventions of your problem classes and input files.

About

C# Solution for the advent of code 2021. Trying to copy my own Kotlin solution. Using template from https://github.com/eduherminio/AdventOfCode.Template

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages