diff options
| author | Mistivia <i@mistivia.com> | 2024-02-17 12:27:24 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2024-02-17 12:27:24 +0800 |
| commit | 8fcd7e1ed30a8b04d4d658b2d8c6acad938424d4 (patch) | |
| tree | 1cf064396cb0ddfdf77b2d3d6b56ebdd27c0ba9b /advent-of-code/2023 | |
| parent | 050fa7cbfb6b7cf293fb02e06daf123b3e6af816 (diff) | |
add aoc 2022
Diffstat (limited to 'advent-of-code/2023')
| -rw-r--r-- | advent-of-code/2023/01/1.rkt | 2 | ||||
| -rw-r--r-- | advent-of-code/2023/01/2.rkt | 2 | ||||
| -rw-r--r-- | advent-of-code/2023/02/1.rkt | 2 | ||||
| -rw-r--r-- | advent-of-code/2023/02/2.rkt | 2 | ||||
| -rw-r--r-- | advent-of-code/2023/03/1.rkt | 4 | ||||
| -rw-r--r-- | advent-of-code/2023/03/2.rkt | 4 | ||||
| -rw-r--r-- | advent-of-code/2023/04/1.rkt | 4 | ||||
| -rw-r--r-- | advent-of-code/2023/04/2.rkt | 4 | ||||
| -rw-r--r-- | advent-of-code/2023/lib/obj.rkt | 32 | ||||
| -rw-r--r-- | advent-of-code/2023/lib/utils.rkt | 24 |
10 files changed, 12 insertions, 68 deletions
diff --git a/advent-of-code/2023/01/1.rkt b/advent-of-code/2023/01/1.rkt index 865e72e..0e57c95 100644 --- a/advent-of-code/2023/01/1.rkt +++ b/advent-of-code/2023/01/1.rkt @@ -1,6 +1,6 @@ #lang racket/base -(require "../lib/utils.rkt") +(require "../../lib/utils.rkt") (define fp (open-input-file "input")) diff --git a/advent-of-code/2023/01/2.rkt b/advent-of-code/2023/01/2.rkt index d00e2f9..a5bbee2 100644 --- a/advent-of-code/2023/01/2.rkt +++ b/advent-of-code/2023/01/2.rkt @@ -1,6 +1,6 @@ #lang racket/base -(require "../lib/utils.rkt") +(require "../../lib/utils.rkt") (define fp (open-input-file "input")) diff --git a/advent-of-code/2023/02/1.rkt b/advent-of-code/2023/02/1.rkt index 9213079..818eb36 100644 --- a/advent-of-code/2023/02/1.rkt +++ b/advent-of-code/2023/02/1.rkt @@ -1,6 +1,6 @@ #lang racket/base -(require "../lib/utils.rkt") +(require "../../lib/utils.rkt") (define fp (open-input-file "input")) diff --git a/advent-of-code/2023/02/2.rkt b/advent-of-code/2023/02/2.rkt index 88fa571..40e8a09 100644 --- a/advent-of-code/2023/02/2.rkt +++ b/advent-of-code/2023/02/2.rkt @@ -1,6 +1,6 @@ #lang racket/base -(require "../lib/utils.rkt") +(require "../../lib/utils.rkt") (define fp (open-input-file "input")) diff --git a/advent-of-code/2023/03/1.rkt b/advent-of-code/2023/03/1.rkt index 537d65f..09bc7d0 100644 --- a/advent-of-code/2023/03/1.rkt +++ b/advent-of-code/2023/03/1.rkt @@ -1,7 +1,7 @@ #lang racket/base -(require "../lib/utils.rkt") -(require "../lib/obj.rkt") +(require "../../lib/utils.rkt") +(require "../../lib/obj.rkt") (define (read-input) (call-with-input-file "input" diff --git a/advent-of-code/2023/03/2.rkt b/advent-of-code/2023/03/2.rkt index 721a9d1..2bc8c6b 100644 --- a/advent-of-code/2023/03/2.rkt +++ b/advent-of-code/2023/03/2.rkt @@ -1,7 +1,7 @@ #lang racket -(require "../lib/utils.rkt") -(require "../lib/obj.rkt") +(require "../../lib/utils.rkt") +(require "../../lib/obj.rkt") (define (read-input) (call-with-input-file "input" diff --git a/advent-of-code/2023/04/1.rkt b/advent-of-code/2023/04/1.rkt index 5210420..8dc0ee6 100644 --- a/advent-of-code/2023/04/1.rkt +++ b/advent-of-code/2023/04/1.rkt @@ -1,7 +1,7 @@ #lang racket/base -(require "../lib/utils.rkt") -(require "../lib/obj.rkt") +(require "../../lib/utils.rkt") +(require "../../lib/obj.rkt") (define fp (open-input-file "input")) diff --git a/advent-of-code/2023/04/2.rkt b/advent-of-code/2023/04/2.rkt index 479f9d7..f6febf3 100644 --- a/advent-of-code/2023/04/2.rkt +++ b/advent-of-code/2023/04/2.rkt @@ -1,7 +1,7 @@ #lang racket/base -(require "../lib/utils.rkt") -(require "../lib/obj.rkt") +(require "../../lib/utils.rkt") +(require "../../lib/obj.rkt") (define fp (open-input-file "input")) diff --git a/advent-of-code/2023/lib/obj.rkt b/advent-of-code/2023/lib/obj.rkt deleted file mode 100644 index 578ea36..0000000 --- a/advent-of-code/2023/lib/obj.rkt +++ /dev/null @@ -1,32 +0,0 @@ -#lang racket/base - -(provide obj-maker - obj-set - obj-show) - -(define (alist->obj alist) - (lambda key - (if (null? key) - alist - (cadr (assoc (car key) alist))))) - -(define (obj-maker . fields) - (lambda inits - (define alist (map list fields inits)) - (alist->obj alist))) - -(define (obj-set record key value) - (define alist (record)) - (define new-alist - (let loop ((new-list '()) (cur alist) (is-set #f)) - (if (null? cur) - (if is-set - new-list - (cons (list key value) new-list)) - (let () - (if (eq? key (caar cur)) - (loop (cons (list key value) new-list) (cdr cur) #t) - (loop (cons (car cur) new-list) (cdr cur) is-set)))))) - (alist->obj new-alist)) - -(define (obj-show x) (x))
\ No newline at end of file diff --git a/advent-of-code/2023/lib/utils.rkt b/advent-of-code/2023/lib/utils.rkt deleted file mode 100644 index 40c6f6b..0000000 --- a/advent-of-code/2023/lib/utils.rkt +++ /dev/null @@ -1,24 +0,0 @@ -#lang racket/base - -(provide get-lines - enumerate - repeat) - -(define (repeat n e) - (let loop ((i 0) (ret '())) - (if (>= i n) - ret - (loop (+ 1 i) (cons e ret))))) - -(define (get-lines fp) - (let loop ((lines '())) - (define l (read-line fp)) - (if (eof-object? l) - (reverse lines) - (loop (cons l lines))))) - -(define (enumerate lst) - (let loop ((i 1) (ret '()) (remain lst)) - (if (null? remain) - (reverse ret) - (loop (+ 1 i) (cons (list (car remain) i) ret) (cdr remain)))))
\ No newline at end of file |
