You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
aoc-racket/2019/README.md

1.0 KiB

MBs Advent of Code tips

  • Complex numbers are a nice way of modeling two-dimensional positions.

  • Use lists whenever feasible, because there are many useful list functions in the Racket library that dont have vector equivalents.

  • In particular, these list functions are very useful.

  • eq? is the fastest equality check, but it only works for symbols and fixnums (therefore, use more symbols and fixnums so you can use eq?!)

  • match is fantastic.

  • Association lists (= lists of pairs) can be used with the dictionary forms (like dict-ref and in-dict)

  • The graph library can be useful for graph-based problems.

My solutions

  • I try to write solutions that are succinct but not cryptic.

  • I dont optimize for speed.

  • I like doing the Advent of Code problems because it forces me to use parts of Racket that I dont ordinarily use. So I treat it as a chance to expand my awareness of the Racketverse.