Exemple #1
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    lines = [int(line) for line in lines]
    lines.sort()
    lines.insert(0, 0)
    lines.append(lines[-1] + 3)
    return lines
Exemple #2
0
def prepare_data(file_name):
    fields = list()
    your_ticket = None
    other_tickets = list()
    lines = file_utils.get_lines(file_name)
    preparing_fields = True
    parsing_ticket = False
    for line in lines:
        if not line:
            if parsing_ticket:
                parsing_ticket = False
            if preparing_fields:
                preparing_fields = False
                parsing_ticket = True
        else:
            if preparing_fields:
                fields.append(FieldRange(line))
            elif parsing_ticket:
                if line != 'your ticket:':
                    your_ticket = Ticket(line)
            else:
                if line != 'nearby tickets:':
                    other_tickets.append(Ticket(line))

    return Input(fields, your_ticket, other_tickets)
Exemple #3
0
def solution(file_name):
    operations = file_utils.get_lines(file_name)
    return sum([
        calculate_left_to_right(
            calculate_with_parenthesis_and_operator(operation,
                                                    calculate_left_to_right))
        for operation in operations
    ])
Exemple #4
0
def solution2(file_name):
    operations = file_utils.get_lines(file_name)
    return sum([
        calculate_inverse_precedence(
            calculate_with_parenthesis_and_operator(
                operation, calculate_inverse_precedence))
        for operation in operations
    ])
Exemple #5
0
def prepare_data(file_name):
    cells = file_utils.get_lines(file_name)
    max_y = len(cells)
    max_x = len(cells[0])
    matrix = np.zeros((1, max_y, max_x)).astype(int)
    for y in range(max_y):
        for x in range(max_x):
            if cells[y][x] == '#':
                matrix[0][y][x] = 1
    return matrix
Exemple #6
0
def prepare_data(file_name):
    flipped = set()
    lines = file_utils.get_lines(file_name)
    for line in lines:
        moves = parse_line(line)
        coords = new_coords(moves)
        if coords not in flipped:
            flipped.add(coords)
        else:
            flipped.remove(coords)
    return flipped
Exemple #7
0
def prepare_data(file_name):
    tiles = list()
    lines = file_utils.get_lines(file_name)
    for line in lines:
        if line.startswith('Tile'):
            match = tile_regex.match(line)
            current_tile = Tile(int(match.group(1)))
        elif not line:
            current_tile.compute_sides()
            current_tile.compute_sides_for_bottom()
            tiles.append(current_tile)
        else:
            current_tile.add_line(line)
    init_neighbours(tiles)
    return tiles
Exemple #8
0
def prepare_data(file_name, regex_generator):
    rules = dict()
    lines = file_utils.get_lines(file_name)
    to_validate_count = 0
    parse_regex = True
    for line in lines:
        if not line:
            parse_regex = False
            raw_regex = regex_generator(rules).replace(' ', '')
            raw_regex = '^'+raw_regex+'$'
            print(raw_regex)
            regex = re.compile(raw_regex)
        elif parse_regex:
            rule = parse_line(line)
            rules[rule.index] = rule
        else:
            matched = regex.match(line)
            if matched:
                to_validate_count += 1
    return to_validate_count
Exemple #9
0
def prepare_data2(file_name):
    lines = file_utils.get_lines(file_name)
    bus_ids = lines[1]
    return build_gaps_by_bus_id(bus_ids)
Exemple #10
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    return [int(line) for line in lines]
Exemple #11
0
def prepare_lines(file_name):
    lines = file_utils.get_lines(file_name)
    lines = [parse_line(line) for line in lines]
    return lines
Exemple #12
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    return lines
Exemple #13
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    lines = [int(line) for line in lines]
    lines.sort()
    return lines
Exemple #14
0
def prepare_data(file_name):
    return file_utils.get_lines(file_name)
def prepare_data(file_name):
    lines = file_utils.get_lines("inputs", file_name)
    lines = [line if line else ANSWERS_SEPARATOR for line in lines]
    joined = ANSWERS_INFO_SEPARATOR.join(lines)
    lines = joined.split(JOINED_ANSWERS_SEPARATOR)
    return lines
Exemple #16
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    return [SeatRange(line).seat_id() for line in lines]
Exemple #17
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    earliest = int(lines[0])
    bus_ids = lines[1].split(',')
    bus_ids = list(filter(lambda x: x != 'x', bus_ids))
    return earliest, [int(id) for id in bus_ids]
Exemple #18
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    lines = [PasswordInfo(line) for line in lines]
    return lines
Exemple #19
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    lines = [line if line else PASSPORTS_SEPARATOR for line in lines]
    joined_lines = PASSPORTS_INFO_SEPARATOR.join(lines)
    prepared_lines = joined_lines.split(JOINED_PASSPORTS_SEPARATOR)
    return [Passport(line) for line in prepared_lines]
Exemple #20
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    rules = set()
    for line in lines:
        rules.update(parse_rule(line))
    return rules
Exemple #21
0
def prepare_data(file_name):
    lines = file_utils.get_lines(file_name)
    player1 = [int(card) for card in lines[0].split(',')]
    player2 = [int(card) for card in lines[1].split(',')]
    return player1, player2