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 --- 2021/day-17/day-17.rkt | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) (limited to '2021/day-17') diff --git a/2021/day-17/day-17.rkt b/2021/day-17/day-17.rkt index b8563a5..7de44a0 100644 --- a/2021/day-17/day-17.rkt +++ b/2021/day-17/day-17.rkt @@ -4,38 +4,30 @@ (define-values (x-min x-max y-min y-max) (~> (open-day 17 2021) - port->string - (regexp-match #px"target area: x=(.*)\\.\\.(.*), y=(.*)\\.\\.(.*)\n" _) - rest - (map string->number _) - (apply values _))) + port->string + (regexp-match #px"target area: x=(.*)\\.\\.(.*), y=(.*)\\.\\.(.*)\n" _) + rest + (map string->number _) + (apply values _))) (define (hit? x y) - (and (x . >= . x-min) - (x . <= . x-max) - (y . >= . y-min) - (y . <= . y-max))) + (and (x . >= . x-min) (x . <= . x-max) (y . >= . y-min) (y . <= . y-max))) (define (miss? x y) - (or (y . < . y-min) - (x . > . x-max))) + (or (y . < . y-min) (x . > . x-max))) -(define (drag dx i) (max (- dx i) 0)) -(define (gravity dy i) (- dy i)) +(define (drag dx i) + (max (- dx i) 0)) +(define (gravity dy i) + (- dy i)) (define (find-trajectory-apex dx dy) - (for/fold ([x 0] [y 0] [y-apex 0] [result #f] - #:result (list y-apex result)) - ([i (in-naturals)] - #:break result) + (for/fold ([x 0] [y 0] [y-apex 0] [result #f] #:result (list y-apex result)) + ([i (in-naturals)] #:break result) (cond [(hit? x y) (values dx dy y-apex 'hit)] [(miss? x y) (values x y 'miss 'miss)] - [else - (values (+ x (drag dx i)) - (+ y (gravity dy i)) - (if (y . > . y-apex) y y-apex) - #f)]))) + [else (values (+ x (drag dx i)) (+ y (gravity dy i)) (if (y . > . y-apex) y y-apex) #f)]))) (define on-target (for*/list ([dx (in-inclusive-range 1 x-max)] @@ -45,9 +37,7 @@ (list dx dy (first velocity)))) ;; part 1 -(~>> on-target - (argmax third) - third) +(~>> on-target (argmax third) third) ;; part 2 -(length on-target) \ No newline at end of file +(length on-target) -- cgit v1.2.3