aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2024-03-02 18:27:01 +0800
committerMistivia <i@mistivia.com>2024-03-02 18:27:01 +0800
commitd13c776569387b5be0adca83585ddf833404f9af (patch)
tree5e85b2bb9141ccf12c82d70e61f434fe166e76a1 /lib
parent6e4e0bed012e6a1247d556c29ec68e50d85db19a (diff)
sovle day 11 part 2
Diffstat (limited to 'lib')
-rw-r--r--lib/utils.rkt17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/utils.rkt b/lib/utils.rkt
index 2ce8a51..2371583 100644
--- a/lib/utils.rkt
+++ b/lib/utils.rkt
@@ -11,12 +11,19 @@
ret
(loop (+ 1 i) (cons e ret)))))
+(define (trim-lines lines)
+ (if (= 0 (string-length (car lines)))
+ (trim-lines (cdr lines))
+ lines))
+
(define (get-lines fp)
- (let loop ((lines '()))
- (define l (read-line fp))
- (if (eof-object? l)
- (reverse lines)
- (loop (cons l lines)))))
+ (define lines
+ (let loop ((lines '()))
+ (define l (read-line fp))
+ (if (eof-object? l)
+ (reverse lines)
+ (loop (cons l lines)))))
+ (reverse (trim-lines (reverse (trim-lines lines)))))
(define (enumerate lst)
(let loop ((i 1) (ret '()) (remain lst))