using System.Text; using System.Text.RegularExpressions; namespace AdventOfCode.Core.Shared { public abstract class Answerable { public abstract int Year { get; set; } public abstract int Day { get; set; } public abstract int Part { get; set; } public string DefaultInputFile => $"../../../../Advent Of Code Library/{Year}/Day {Day:00}/day-{Day:00}-input.txt"; protected static string NewLine => Environment.NewLine; public abstract string GetAnswer(byte[] data); public static string GetAsString(byte[] bytes) => Encoding.UTF8.GetString(bytes).ReplaceLineEndings(); public static string[] GetAsStringArray(byte[] bytes) => GetAsString(bytes).Split(NewLine).ToArray(); private static string StripControlChars(string s) { return Regex.Replace(s, @"[^\x20-\x7F]", ""); } } }