diff options
Diffstat (limited to 'advent-of-code/2023/04/1.rkt')
| -rw-r--r-- | advent-of-code/2023/04/1.rkt | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/advent-of-code/2023/04/1.rkt b/advent-of-code/2023/04/1.rkt deleted file mode 100644 index e8dd242..0000000 --- a/advent-of-code/2023/04/1.rkt +++ /dev/null @@ -1,29 +0,0 @@ -#lang racket - -(require "../../lib/utils.rkt") -(require "../../lib/obj.rkt") - -(define fp (open-input-file "input")) - -(define lines (get-lines fp)) - -(define (strip-head s) - (string-trim (cadr (string-split s ":")))) - -(set! lines (map strip-head lines)) - -(define make-card (obj-maker 'win-nums 'nums)) - -(define (parse-card s) - (define lst (string-split s "|")) - (define win-nums (map string->number (string-split (car lst)))) - (define nums (map string->number (string-split (cadr lst)))) - (make-card win-nums nums)) - -(define (point card) - (define wins (length (filter (λ (x) (member x (card 'win-nums))) (card 'nums)))) - (if (= wins 0) - 0 - (expt 2 (- wins 1)))) - -(apply + (map point (map parse-card lines))) |
