Пример #1
0
def exec_day(sample=False):
    if sample:
        in_data = SAMPLE_DATA
    else:
        in_data = read_input_data(DAY)

    checksum = get_counts(in_data)
    print("Part 1:", checksum)

    common_letters = find_similar_ids(in_data)
    print("Part 2:", ''.join(common_letters))
Пример #2
0
def exec_day(sample=False):
    if sample:
        in_data = SAMPLE_DATA
    else:
        in_data = read_input_data(DAY, read_func)

    p1 = react_polymer(in_data)
    print("Part 1:", len(p1))

    p2 = find_shortest_polymer(in_data)
    print("Part 2:", len(p2))
Пример #3
0
def exec_day(sample=False):
    if sample:
        in_data = SAMPLE_DATA
    else:
        in_data = read_input_data(DAY, read_func)

    final_freq = find_final_freq(in_data)
    print("Part 1:", final_freq)

    dup_freq = find_dup_freq(in_data)
    print("Part 2:", dup_freq)
Пример #4
0
def exec_day(sample=False):
    if sample:
        in_data = SAMPLE_DATA
    else:
        in_data = read_input_data(DAY)

    claims = parse_into_bboxes(in_data)

    overlapped = find_overlapping(claims)
    print("Part 1:", overlapped)

    good_claim = find_no_overlap(claims)
    print("Part 2:", good_claim)
Пример #5
0
def exec_day(sample=False):
    if sample:
        in_data = UNSORTED_SAMPLE_DATA
    else:
        in_data = read_input_data(DAY)

    entries = convert_input(in_data)
    # print("Sorting Test:", convert_input(SORTED_SAMPLE_DATA, False) == entries)

    gnaps = parse_guard_naps(entries)
    naps = compile_guard_nap_minutes(gnaps)
    p1 = find_max_sleepiest(naps)
    print("Part 1: {0} * {1} = {2}".format(*p1))

    p2 = find_mode_sleepiest(naps)
    print("Part 2: {0} * {1} = {2}".format(*p2))
Пример #6
0
def exec_day(sample=False):
    if sample:
        in_data = SAMPLE_DATA
        workers = 2
        add_sec = 0
    else:
        in_data = read_input_data(DAY)
        workers = 5
        add_sec = 60

    dependencies = parse_dependencies(in_data)

    p1 = determine_step_order(dependencies)
    print("Part 1:", ''.join(p1))

    p2 = simulate_worker_queue(dependencies, workers=workers, add_sec=add_sec)
    print("Part 2:", p2[0], ''.join(p2[1]))