This commit is contained in:
2024-11-30 23:17:46 -06:00
commit 8120a52ba0
29 changed files with 1317 additions and 0 deletions

31
src/01.cs Normal file
View File

@ -0,0 +1,31 @@
namespace aoc2024;
internal class Day01 : Day
{
private readonly List<long> list1 = [];
private readonly List<long> list2 = [];
internal override void Parse()
{
var lines = Util.Parsing.ReadAllLines($"{GetDay()}");
foreach (var line in lines)
{
var vals = line.Split(' ', StringSplitOptions.RemoveEmptyEntries);
list1.Add(long.Parse(vals[0]));
list2.Add(long.Parse(vals[1]));
}
}
internal override string Part1()
{
list1.Sort();
list2.Sort();
long totalDist = list1.Select((num1, idx) => Math.Abs(num1 - list2[idx])).Sum();
return $"Total distance between lists: <+white>{totalDist}";
}
internal override string Part2()
{
long score = list1.Aggregate(0L, (accum, num1) => accum + num1 * list2.Count(num2 => num2 == num1));
return $"Lists similarity score: <+white>{score}";
}
}