public static int FindAvailableSeatId(string boardingPassesDescription)
        {
            var bookedSeatIds = BoardingPassParser.ParseBoardingPassesToSeatIds(boardingPassesDescription).ToArray();
            var allSeatIds    = Enumerable.Range(bookedSeatIds.Min(), bookedSeatIds.Length);

            return(allSeatIds.Except(bookedSeatIds).Single());
        }
예제 #2
0
        public void Parse_boarding_passes_to_seat_ids(
            string boardingPassesDescription,
            int[] expectedSeatIds)
        {
            //When
            var seatIds = BoardingPassParser.ParseBoardingPassesToSeatIds(boardingPassesDescription);

            //Then
            Assert.Equal(expectedSeatIds, seatIds);
        }
 public static int GetHighestSeatId(string boardingPassesDescription)
 => BoardingPassParser
 .ParseBoardingPassesToSeatIds(boardingPassesDescription)
 .Max();