def test_known_string_three(): known_string = "BBFFBBFRLL" row = parse_boarding_pass_string(known_string) column = parse_column_details(known_string) seat_no = determine_seat_number(row, column) assert row == 102 assert column == 4 assert seat_no == 820
def test_known_string_two(): known_string = "FFFBBBFRRR" row = parse_boarding_pass_string(known_string) column = parse_column_details(known_string) seat_no = determine_seat_number(row, column) assert row == 14 assert column == 7 assert seat_no == 119
def challenge_one(data): max_seat = -1 for line in data: row = parse_boarding_pass_string(line) column = parse_column_details(line) seat = determine_seat_number(row, column) if seat > max_seat: max_seat = seat print(f'max seat: {max_seat}') return 864
def challenge_two(data): seat_ids = [] max, min = -1, 999 for line in data: row = parse_boarding_pass_string(line) column = parse_column_details(line) seat = determine_seat_number(row, column) if seat > max: max = seat if seat < min: min = seat seat_ids.append(seat) print(seat_ids) print(f'Min: {min} - max {max}') print(sorted(seat_ids)) all_seats = set(range(min, max + 1)) my_seat = list(all_seats - set(seat_ids)) print(my_seat)