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()); }
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();