ben
/
aoc
1
0
Fork 0

tidy input parser for 2023/4
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Ben Harris 2023-12-04 12:36:43 -05:00
parent 7a9d1e2224
commit 843f58cf8c
1 changed files with 10 additions and 10 deletions

View File

@ -1,5 +1,3 @@
using MoreLinq;
namespace AOC2023; namespace AOC2023;
/// <summary> /// <summary>
@ -13,14 +11,16 @@ public sealed class Day04() : Day(2023, 4, "Scratchcards")
{ {
foreach (var line in Input) foreach (var line in Input)
{ {
var s = line.Split(": ", 2); var s = line.Replace("Card ", "").Split(": ", 2);
var id = int.Parse(s[0].Replace("Card ", "")); var cardNums = s[1]
var s2 = s[1].Split('|', 2); .Split('|', 2)
var f = s2[0].Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries) .Select(f =>
.Select(int.Parse).ToList(); f.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries)
var g = s2[1].Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries) .Select(int.Parse)
.Select(int.Parse).ToList(); .ToList()
_cards[id] = new(f, g); )
.ToList();
_cards[int.Parse(s[0])] = new(cardNums[0], cardNums[1]);
} }
} }