diff options
| author | Mistivia <i@mistivia.com> | 2024-02-25 20:11:54 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2024-02-25 20:11:54 +0800 |
| commit | 515ecbf5a20a8e432a998b0a543bedcb1bd64cf4 (patch) | |
| tree | 6353c603a8cf0276553f420205f8d1c730a318ce /advent-of-code/2023/09 | |
| parent | e191b610c11326b587cf0b01fd6fc37b8d07bb19 (diff) | |
reorg code
Diffstat (limited to 'advent-of-code/2023/09')
| -rw-r--r-- | advent-of-code/2023/09/1.rkt | 27 | ||||
| -rw-r--r-- | advent-of-code/2023/09/2.rkt | 26 |
2 files changed, 0 insertions, 53 deletions
diff --git a/advent-of-code/2023/09/1.rkt b/advent-of-code/2023/09/1.rkt deleted file mode 100644 index 531c5dd..0000000 --- a/advent-of-code/2023/09/1.rkt +++ /dev/null @@ -1,27 +0,0 @@ -#lang racket - -(require "../../lib/utils.rkt") - -(define lines - (call-with-input-file "input" - (λ (fp) - (get-lines fp)))) - -(define (parse-data line) - (map string->number (string-split line))) - -(define data (map parse-data lines)) - -(define (diff lst) - (let loop ((cur lst) (ret '())) - (if (or (null? cur) (null? (cdr cur))) - (reverse ret) - (loop (cdr cur) (cons (- (cadr cur) (car cur)) ret))))) - -(define (predict lst) - (if (andmap (λ (x) (= x (car lst))) lst) - (car lst) - (+ (last lst) (predict (diff lst))))) - -(apply + (map predict data)) - diff --git a/advent-of-code/2023/09/2.rkt b/advent-of-code/2023/09/2.rkt deleted file mode 100644 index b747b97..0000000 --- a/advent-of-code/2023/09/2.rkt +++ /dev/null @@ -1,26 +0,0 @@ -#lang racket - -(require "../../lib/utils.rkt") - -(define lines - (call-with-input-file "input" - (λ (fp) - (get-lines fp)))) - -(define (parse-data line) - (map string->number (string-split line))) - -(define data (map parse-data lines)) - -(define (diff lst) - (let loop ((cur lst) (ret '())) - (if (or (null? cur) (null? (cdr cur))) - (reverse ret) - (loop (cdr cur) (cons (- (cadr cur) (car cur)) ret))))) - -(define (predict lst) - (if (andmap (λ (x) (= x (car lst))) lst) - (car lst) - (- (car lst) (predict (diff lst))))) - -(apply + (map predict data)) |
