From 97b89c31131b63a7bc3c5b47a6988c16716252d2 Mon Sep 17 00:00:00 2001 From: Mistivia Date: Sat, 27 Jan 2024 20:01:29 +0800 Subject: solve advent of code 2023 06 part2 --- advent-of-code/2023/06/2.rkt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 advent-of-code/2023/06/2.rkt diff --git a/advent-of-code/2023/06/2.rkt b/advent-of-code/2023/06/2.rkt new file mode 100644 index 0000000..5d124e0 --- /dev/null +++ b/advent-of-code/2023/06/2.rkt @@ -0,0 +1,29 @@ +#lang racket + +(define in (open-input-file "input")) + +(define (read-num) + (define line (read-line in)) + (string->number + (apply + string-append + (string-split + (cadr (string-split (string-trim line) ":")))))) + +(define time (read-num)) +(define distance (read-num)) + +(define (calc time hold-time) + (* hold-time (- time hold-time))) + +(define (solve time distance) + (define (loop counter hold-time) + (if (> hold-time time) + counter + (if (> (calc time hold-time) distance) + (loop (+ 1 counter) (+ 1 hold-time)) + (loop counter (+ 1 hold-time))))) + (loop 0 0)) + +(display (solve time distance)) +(newline) -- cgit v1.0