aboutsummaryrefslogtreecommitdiff
path: root/aoc2023-racket/day-09/day-09.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'aoc2023-racket/day-09/day-09.rkt')
-rw-r--r--aoc2023-racket/day-09/day-09.rkt32
1 files changed, 0 insertions, 32 deletions
diff --git a/aoc2023-racket/day-09/day-09.rkt b/aoc2023-racket/day-09/day-09.rkt
deleted file mode 100644
index 5eda1eb..0000000
--- a/aoc2023-racket/day-09/day-09.rkt
+++ /dev/null
@@ -1,32 +0,0 @@
-#lang racket
-
-(require advent-of-code
- threading)
-
-(define histories
- (for/list ([raw-history (in-lines (open-aoc-input (find-session) 2023 9 #:cache #true))])
- (~>> raw-history
- string-split
- (map string->number))))
-
-(define (constant? xs)
- (= 1 (length (remove-duplicates xs))))
-
-(define/match (derivative xs)
- [((list a b)) (list (- b a))]
- [((list* a b _)) (cons (- b a) (derivative (rest xs)))])
-
-(define (extrapolate xs)
- (if (constant? xs)
- (car xs)
- (+ (last xs) (extrapolate (derivative xs)))))
-
-;; part 1
-(~>> histories
- (map extrapolate)
- (apply +))
-
-;; part 2
-(~>> histories
- (map (λ~> reverse extrapolate))
- (apply +))