aboutsummaryrefslogtreecommitdiff
path: root/aoc2023-racket/day-09
diff options
context:
space:
mode:
authorH.J <thechairman@thechairman.info>2024-10-09 11:36:55 -0400
committerH.J <thechairman@thechairman.info>2024-10-09 11:36:55 -0400
commit8777ff071f7bb37631baa7b6717ad29961e50911 (patch)
tree6d59c4ed58e454b960339c3d1151f0a879e8d7cb /aoc2023-racket/day-09
parent6156a9ef7be4012063a042aafb4e9b0d7eadde8e (diff)
downloadgleam_aoc-8777ff071f7bb37631baa7b6717ad29961e50911.tar.gz
gleam_aoc-8777ff071f7bb37631baa7b6717ad29961e50911.zip
sorting by language
Diffstat (limited to 'aoc2023-racket/day-09')
-rw-r--r--aoc2023-racket/day-09/day-09-polynomial.rkt17
-rw-r--r--aoc2023-racket/day-09/day-09.rkt32
2 files changed, 0 insertions, 49 deletions
diff --git a/aoc2023-racket/day-09/day-09-polynomial.rkt b/aoc2023-racket/day-09/day-09-polynomial.rkt
deleted file mode 100644
index 5bacb1f..0000000
--- a/aoc2023-racket/day-09/day-09-polynomial.rkt
+++ /dev/null
@@ -1,17 +0,0 @@
-#lang racket
-
-(require advent-of-code
- threading
- simple-polynomial/tools)
-
-(define histories
- (for/list ([raw-history (in-lines (open-aoc-input (find-session) 2023 9 #:cache #true))])
- (~>> raw-history
- string-split
- (map string->number))))
-
-(for/lists (left right #:result (cons (apply + left) (apply + right)))
- ([history (in-list histories)])
- (define f (interpolate-at-integer-points history))
- (values (f -1)
- (f (length history))))
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 +))