private async Task <StringResultTask> GetFirstTask() { string filePath = @"AdventOfCode2020.Calender.Day5.Input.txt"; var input = await ParseHelper.GetInput(Environment.NewLine, filePath, new BoardingParser()); var seat = input.Select(commands => Boarder.Boarding(commands, 128, 8)).Max(seat => seat.Id); return(new StringResultTask("Part 1", $"Answer: {seat}")); }
private async Task <StringResultTask> GetSecondTask() { string filePath = @"AdventOfCode2020.Calender.Day5.Input.txt"; var input = await ParseHelper.GetInput(Environment.NewLine, filePath, new BoardingParser()); var seats = input.Select(commands => Boarder.Boarding(commands, 128, 8)); var missingSeats = new List <AirlineSeat>(); for (int indexRow = 0; indexRow < 128; indexRow++) { for (int indexColumn = 0; indexColumn < 8; indexColumn++) { var result = seats.FirstOrDefault(seat => seat.Row == indexRow && seat.Column == indexColumn); if (result == null) { missingSeats.Add(new AirlineSeat(indexRow, indexColumn)); } } } return(new StringResultTask("Part 2", $"Answer: {seats.Count()}")); }
public void Boarder_Boarding(BoardingCommandKind[] commands, int rows, int column, int expectedResult) { var result = Boarder.Boarding(commands, rows, column); Assert.Equal(expectedResult, result.Id); }