diff --git a/4.rkt b/4.rkt index eadf078..8132ee1 100644 --- a/4.rkt +++ b/4.rkt @@ -5,16 +5,10 @@ ;; solution for day 4 (define (part1 input) - (for*/sum ([line (in-list input)] - [u (in-value (apply is:union line))] - #:when (member u line)) - 1)) + (count #{member (apply is:union %) %} input)) (define (part2 input) - (for*/sum ([line (in-list input)] - [i (in-value (apply is:intersect line))] - #:unless (zero? (is:count i))) - 1)) + (count #{is:get-integer (apply is:intersect %)} input)) (define (parse fname) (for/list ([line (in-list (file->lines fname))])