Refactor Day04 to use Index() extension method
This commit is contained in:
+5
-4
@@ -55,16 +55,17 @@ public class Day04 : IPuzzleSolver<long>
|
||||
private HashSet<Coordinate> GetRollCoordinates(IEnumerable<string> paperrollGrid)
|
||||
{
|
||||
var coordinates = paperrollGrid
|
||||
.SelectMany((gridLine, xIndex) => GetCoordinates(gridLine, xIndex))
|
||||
.Index()
|
||||
.SelectMany(indexedLine => GetCoordinates(indexedLine.Item, indexedLine.Index))
|
||||
.ToHashSet();
|
||||
return coordinates;
|
||||
}
|
||||
|
||||
private IEnumerable<Coordinate> GetCoordinates(string gridLine, int xIndex)
|
||||
{
|
||||
var indexedCharacters = gridLine.Select((character, yIndex) => (character, yIndex));
|
||||
var validRolls = indexedCharacters.Where(tuple => tuple.character == '@');
|
||||
var rollCoordinates = validRolls.Select(tuple => (xIndex, tuple.yIndex));
|
||||
var indexedCharacters = gridLine.Index();
|
||||
var validRolls = indexedCharacters.Where(tuple => tuple.Item == '@');
|
||||
var rollCoordinates = validRolls.Select(tuple => (xIndex, tuple.Index));
|
||||
return rollCoordinates;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user