예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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)