SimonJkAdamek

AOC day 6

Dec 6th, 2022
760
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | Source Code | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. def find_marker(buffer, dch=4):
  4.     for i in range(len(buffer)):
  5.         if dch == len(set(buffer[i:i+dch])):
  6.             break
  7.     return i+dch
  8.  
  9. assert(find_marker("mjqjpqmgbljsphdztnvjfqwrcgsmlb")==7)
  10. assert(find_marker("bvwbjplbgvbhsrlpgdmjqwftvncz")==5)
  11. assert(find_marker("nppdvjthqldpwncqszvftbrmjlhg")==6)
  12. assert(find_marker("nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg")==10)
  13. assert(find_marker("zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw")==11)
  14. print("PASS")
  15. print("Part 1:", find_marker(open("input.txt").read()),"\n\n")
  16.  
  17. assert(find_marker("mjqjpqmgbljsphdztnvjfqwrcgsmlb",dch=14)==19)
  18. assert(find_marker("bvwbjplbgvbhsrlpgdmjqwftvncz", dch=14)==23)
  19. assert(find_marker("nppdvjthqldpwncqszvftbrmjlhg", dch=14)==23)
  20. assert(find_marker("nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg", dch=14)==29)
  21. assert(find_marker("zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw", dch=14)==26)
  22. print("PASS")
  23. print("Part 2:", find_marker(open("input.txt").read(),dch=14))
  24.  
Advertisement
Add Comment
Please, Sign In to add comment