diff options
Diffstat (limited to '2022/day-06/day-06.rkt')
-rw-r--r-- | 2022/day-06/day-06.rkt | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/2022/day-06/day-06.rkt b/2022/day-06/day-06.rkt new file mode 100644 index 0000000..4eb8323 --- /dev/null +++ b/2022/day-06/day-06.rkt @@ -0,0 +1,24 @@ +#lang racket + +(require advent-of-code + threading + (only-in relation ->list ->set) + (only-in algorithms sliding)) + +(define buffer (~> (fetch-aoc-input (find-session) 2022 6))) + +(define (find-marker data type) + (define n + (match type + ['start-of-packet 4] + ['start-of-message 14])) + (for/first ([chunk (in-list (sliding (->list data) n))] + [i (in-naturals n)] + #:when (= n (~> chunk remove-duplicates length))) + i)) + +;; part 1 +(find-marker buffer 'start-of-packet) + +;; part 2 +(find-marker buffer 'start-of-message) |