solve day 6 part 2

This commit is contained in:
aaron
2022-12-06 16:42:28 +01:00
parent b46117b788
commit 7ba19b3579

31
6/tuningtrouble.py Normal file
View File

@@ -0,0 +1,31 @@
from itertools import count
from aocd.models import Puzzle
from aocd import submit
def get_marker_pos(signal, N):
"""
iterate over input stream and find all the first occurence
where the Set from i to i+N equals N. This means there are
no duplicates within this particular range.
"""
for i in count():
if len(set(signal[i : i + N])) == N:
return i + N
if __name__ == "__main__":
# get puzzle and parse data
puzzle = Puzzle(year=2022, day=6)
signal = puzzle.input_data
# part a:
answer_a = get_marker_pos(signal, 4)
print(f"{answer_a}")
submit(answer_a, part="a", day=6, year=2022)
# part b:
answer_b = get_marker_pos(signal, 14)
print(f"{answer_b}")
submit(answer_b, part="b", day=6, year=2022)