aboutsummaryrefslogtreecommitdiff
path: root/advent-of-code/2023/04/2.rkt
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2024-02-20 00:42:16 +0800
committerMistivia <i@mistivia.com>2024-02-20 00:42:16 +0800
commitbebb8946d29069b2acb10db71c8c9203ed4ae922 (patch)
tree66ee2e321cbb413baaf32661195f2c734546eba0 /advent-of-code/2023/04/2.rkt
parent3a4e5447a79096d813cdaf4498b9a1e2c086b7ff (diff)
λ looks cool & format code
Diffstat (limited to 'advent-of-code/2023/04/2.rkt')
-rw-r--r--advent-of-code/2023/04/2.rkt26
1 files changed, 13 insertions, 13 deletions
diff --git a/advent-of-code/2023/04/2.rkt b/advent-of-code/2023/04/2.rkt
index fa1dd86..eec9632 100644
--- a/advent-of-code/2023/04/2.rkt
+++ b/advent-of-code/2023/04/2.rkt
@@ -25,23 +25,23 @@
(define card-count (make-vector (length cards) 1))
(define (win-count card)
- (length (filter (lambda (x) (member x (card 'win-nums))) (card 'nums))))
+ (length (filter (λ (x) (member x (card 'win-nums))) (card 'nums))))
(define card-vec (list->vector cards))
(let loop ((i 0))
(if (>= i (vector-length card-count))
- (void)
- (let ()
- (define win-cnt (win-count (vector-ref card-vec i)))
- (let loop ((j (+ i 1)))
- (if (or (>= j (vector-length card-count))
- (>= j (+ 1 i win-cnt)))
- (void)
- (let ()
- (vector-set! card-count j (+ (vector-ref card-count i)
- (vector-ref card-count j)))
- (loop (+ 1 j)))))
- (loop (+ 1 i)))))
+ (void)
+ (let ()
+ (define win-cnt (win-count (vector-ref card-vec i)))
+ (let loop ((j (+ i 1)))
+ (if (or (>= j (vector-length card-count))
+ (>= j (+ 1 i win-cnt)))
+ (void)
+ (let ()
+ (vector-set! card-count j (+ (vector-ref card-count i)
+ (vector-ref card-count j)))
+ (loop (+ 1 j)))))
+ (loop (+ 1 i)))))
(apply + (vector->list card-count)) \ No newline at end of file