diff options
| author | Mistivia <i@mistivia.com> | 2024-02-20 00:42:16 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2024-02-20 00:42:16 +0800 |
| commit | bebb8946d29069b2acb10db71c8c9203ed4ae922 (patch) | |
| tree | 66ee2e321cbb413baaf32661195f2c734546eba0 /advent-of-code/2023/04 | |
| parent | 3a4e5447a79096d813cdaf4498b9a1e2c086b7ff (diff) | |
λ looks cool & format code
Diffstat (limited to 'advent-of-code/2023/04')
| -rw-r--r-- | advent-of-code/2023/04/1.rkt | 6 | ||||
| -rw-r--r-- | advent-of-code/2023/04/2.rkt | 26 |
2 files changed, 16 insertions, 16 deletions
diff --git a/advent-of-code/2023/04/1.rkt b/advent-of-code/2023/04/1.rkt index 8198403..e8dd242 100644 --- a/advent-of-code/2023/04/1.rkt +++ b/advent-of-code/2023/04/1.rkt @@ -21,9 +21,9 @@ (make-card win-nums nums)) (define (point card) - (define wins (length (filter (lambda (x) (member x (card 'win-nums))) (card 'nums)))) + (define wins (length (filter (λ (x) (member x (card 'win-nums))) (card 'nums)))) (if (= wins 0) - 0 - (expt 2 (- wins 1)))) + 0 + (expt 2 (- wins 1)))) (apply + (map point (map parse-card lines))) 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 |
