It’s a learning project, so the solutions may be lacking some mastery. Any remarks on how to improve the code are more than welcome!
Evaluation of the code assumes sbcl
and quicklisp
installed and available.
To use get_input
script, file env.lisp
must be created with contents like:
(defconstant *token* "your-aoc-session-cookie")
The code in dayNN.lisp
files is written with assumption that it’s being evaluated in Emacs with sly
connection.
puzzle | notes |
---|---|
Day 1 | reduce (would be better with loop ) |
Day 2 | loop with accumulating values |
Day 3 | rotating a list and recursion |
Day 4 | using helpers from day 3 + parsing input (partition-by) |
Day 5 | grid (hashmap) |
Day 6 | more thinking than writing |
Day 7 | iteration + arithmetic |
Day 8 | sets |
Day 9 | maze: flood-fill algo, flet & labels |
Day 10 | queueing |
Day 11 | cf. day 9 (improved with hashmap and #'coordinates ) |
Day 12 | heap-heap-hoorray! |
Day 13 | grid |
Day 14 | hash-tables, no brutes! |
Days 15-19 | todo |
Day 20 | tricky spec, otherwise cool (arrays) |