Skip to content

Commit

Permalink
2024 Day 1
Browse files Browse the repository at this point in the history
  • Loading branch information
premun committed Dec 2, 2024
1 parent e0c49b1 commit 5d7804e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
14 changes: 13 additions & 1 deletion src/2024/01/Program.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
using AdventOfCode.Common;

var lines = Resources.GetResourceFileLines("input.txt");
// Gather left and right lists
(int[] Left, int[] Right) lists = Resources.GetInputFileLines("input.txt")
.Select(line => line.SplitToNumbers(" "))
.Aggregate((Array.Empty<int>(), Array.Empty<int>()), (lists, pair) => ([.. lists.Item1, pair.First()], [.. lists.Item2, pair.Last()]));

var distances = from pair in lists.Left.Order().Zip(lists.Right.Order())
select Math.Abs(pair.First - pair.Second);

var similarity = from left in lists.Left
select lists.Right.Where(right => right == left).Count() * left;

Console.WriteLine($"Part 1: {distances.Sum()}");
Console.WriteLine($"Part 2: {similarity.Sum()}");
4 changes: 2 additions & 2 deletions src/Common/Resources.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ private static Stream GetResourceStream(Assembly assembly, string resourceFileNa
return stream;
}

public static int[] SplitToNumbers(this string csv) => csv
.SplitBy(",")
public static int[] SplitToNumbers(this string csv, string delimiter = ",") => csv
.SplitBy(delimiter)
.Select(int.Parse)
.ToArray();

Expand Down

0 comments on commit 5d7804e

Please sign in to comment.