27 lines
902 B
Racket
27 lines
902 B
Racket
#lang racket
|
|
|
|
;; utilities for every challenge script
|
|
|
|
(require "aoc-lib.rkt" threading syntax/parse/define (for-syntax racket/syntax) graph)
|
|
(provide answer dbg (all-from-out threading syntax/parse/define graph)
|
|
(for-syntax (all-from-out racket/syntax)))
|
|
|
|
;; in-expression debug print, uwu
|
|
(define (dbg x)
|
|
(pretty-write x)
|
|
x)
|
|
|
|
;; submit a solution to the server if not already submitted
|
|
(define (answer day part answer)
|
|
(printf "answer ~a.~a: ~s\n" day part answer)
|
|
(unless (aoc-complete? day part)
|
|
(printf "submit? [Y/n]: ")
|
|
(match (string-downcase (string-trim (read-line)))
|
|
[(or "" "y" "yes")
|
|
(printf "submitting...\n")
|
|
(define resp
|
|
(aoc-submit-answer (getenv "AOC_YEAR") (~a day) (getenv "AOC_SESSION") (~a part)
|
|
(~a answer)))
|
|
(printf "server responded: ~a\n" resp)]
|
|
[_ (printf "not submitting\n")])))
|