12345678910111213141516171819202122 |
- #lang racket
- (define fp (open-input-file "input"))
- (define sum 0)
- (define (get-lines fp)
- (let loop ((lines '()))
- (define l (read-line fp))
- (if (eof-object? l)
- (reverse lines)
- (loop (cons l lines)))))
- (define lines (get-lines fp))
- (define (extract-number line)
- (define number-list (filter char-numeric? (string->list line)))
- (set! number-list (map (lambda (c)
- (string->number (list->string (list c))))
- number-list))
- (+ (last number-list) (* 10 (car number-list))))
- (apply + (map extract-number lines))
|