Exemplo n.º 1
0
        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}"));
        }
Exemplo n.º 2
0
        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()}"));
        }
Exemplo n.º 3
0
        public void Boarder_Boarding(BoardingCommandKind[] commands, int rows, int column, int expectedResult)
        {
            var result = Boarder.Boarding(commands, rows, column);

            Assert.Equal(expectedResult, result.Id);
        }