src/2018/days/day-05.lisp @ 2848a4548adf
2023/01 and 2022/01 Also start porting my test data to the new account, since Twitter imploded and apparently it's impossible for a website to store a goddamn username and password in The Year of Our Lord 2023 so everyone just outsources auth all the time, ugh.
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Fri, 01 Dec 2023 11:05:43 -0500 |
| parents | 182bdd87fd9e |
| children | (none) |
(advent:defpackage* :advent/2018/05) (in-package :advent/2018/05) (named-readtables:in-readtable :interpol-syntax) (defun reactivep (x y) (char= x (char-invertcase y))) (defun react (string &aux result) (doseq (char string) (if (and result (reactivep char (car result))) (pop result) (push char result))) (coerce (nreverse result) 'string)) (define-problem (2018 5) (data alexandria:read-stream-content-into-string) (10708 5330) (setf data (delete #\newline data)) (values (length (react data)) (iterate (for unit :in-vector (remove-duplicates data :test #'char-equal)) (for candidate = (react (remove unit data :test #'char-equal))) (minimizing (length candidate)))))