diff options
author | Hunky Jimpjorps <thechairman@thechairman.info> | 2022-11-26 01:43:33 -0500 |
---|---|---|
committer | Hunky Jimpjorps <thechairman@thechairman.info> | 2022-11-26 01:43:33 -0500 |
commit | feccf3f6f0a806b3317d1f399e3e8b42945c4f09 (patch) | |
tree | bf15ce045d1106c1b7f7de30c27540f40d0bf947 /2020/day-05 | |
parent | 8b624fe7d2751337b1f16830cc9c041df73e99e7 (diff) | |
download | gleam_aoc-feccf3f6f0a806b3317d1f399e3e8b42945c4f09.tar.gz gleam_aoc-feccf3f6f0a806b3317d1f399e3e8b42945c4f09.zip |
using raco fmt, replacing missing dependency
Diffstat (limited to '2020/day-05')
-rw-r--r-- | 2020/day-05/day-05.rkt | 41 |
1 files changed, 16 insertions, 25 deletions
diff --git a/2020/day-05/day-05.rkt b/2020/day-05/day-05.rkt index 93c54a2..bd89ede 100644 --- a/2020/day-05/day-05.rkt +++ b/2020/day-05/day-05.rkt @@ -1,44 +1,35 @@ #lang racket (require "../../jj-aoc.rkt" - threading - algorithms) + threading) (define tickets - (for/list - ([l (in-lines (open-day 5 2020))]) - (~>> l - (regexp-match #px"(.{7})(.{3})" ) - rest))) + (for/list ([l (in-lines (open-day 5 2020))]) + (~>> l (regexp-match #px"(.{7})(.{3})") rest))) (define (find-place str min-p max-p l r) (if (string=? "" str) min-p - (let ([p-range (/ (add1 (- max-p min-p)) 2)] - [c (substring str 0 1)]) + (let ([p-range (/ (add1 (- max-p min-p)) 2)] [c (substring str 0 1)]) (cond - [(string=? c l) - (find-place (substring str 1) min-p (- max-p p-range) l r)] - [(string=? c r) - (find-place (substring str 1) (+ min-p p-range) max-p l r)])))) + [(string=? c l) (find-place (substring str 1) min-p (- max-p p-range) l r)] + [(string=? c r) (find-place (substring str 1) (+ min-p p-range) max-p l r)])))) -(define (find-row str) (find-place str 0 127 "F" "B")) -(define (find-col str) (find-place str 0 7 "L" "R")) +(define (find-row str) + (find-place str 0 127 "F" "B")) +(define (find-col str) + (find-place str 0 7 "L" "R")) (define (ticket-id t) - (let ([row (find-row (first t))] - [col (find-col (second t))]) - (+ col (* 8 row)))) + (let ([row (find-row (first t))] [col (find-col (second t))]) (+ col (* 8 row)))) ;; part 1 (define occupied-seats - (~>> (for/list ([t (in-list tickets)]) (ticket-id t)))) + (~>> (for/list ([t (in-list tickets)]) + (ticket-id t)))) (apply max occupied-seats) ;; part 2 -(set-first - (set-subtract (list->set (inclusive-range (apply min occupied-seats) - (apply max occupied-seats))) - (list->set occupied-seats))) - - +(set-first (set-subtract + (list->set (inclusive-range (apply min occupied-seats) (apply max occupied-seats))) + (list->set occupied-seats))) |