From feccf3f6f0a806b3317d1f399e3e8b42945c4f09 Mon Sep 17 00:00:00 2001 From: Hunky Jimpjorps Date: Sat, 26 Nov 2022 01:43:33 -0500 Subject: using raco fmt, replacing missing dependency --- 2020/day-05/day-05.rkt | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) (limited to '2020/day-05') 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))) -- cgit v1.2.3