for line in data: if prev is not None and line > prev: increased += 1 prev = line return increased def second(data): increased = 0 prev_prev = data[0] prev = data[1] prev_sum = None for line in data[2:]: current_sum = sum([prev_prev, prev, line]) if prev_sum is not None and current_sum > prev_sum: increased += 1 prev_sum = current_sum prev_prev = prev prev = line return increased if __name__ == "__main__": content = list(map(int, get_input_content(__file__))) print(f'Le résultat de la première partie est :\n{first(content)}') print(f'Le résultat de la deuxième partie est :\n{second(content)}')
for step in range(40): next_pair_counter = Counter() for pair, count in pair_counter.items(): if pair in pair_insertions: next_pair_counter[pair[0] + pair_insertions[pair]] += count next_pair_counter[pair_insertions[pair] + pair[1]] += count pair_counter = next_pair_counter counter = Counter() for pair, count in pair_counter.items(): counter[pair[0]] += count # Add last letter counter[polymer[-1]] += 1 return max(counter.values()) - min(counter.values()) if __name__ == "__main__": content = get_input_content(__file__) template = content[0] content = content[2:] print( f'Le résultat de la première partie est :\n{first(template, content)}') print( f'Le résultat de la deuxième partie est :\n{second(template, content)}' )