https://github.com/willkill07/adventofcode2020
https://github.com/willkill07/adventofcode2020
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/willkill07/adventofcode2020
- Owner: willkill07
- Created: 2020-12-15T21:27:44.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2020-12-29T20:10:38.000Z (about 5 years ago)
- Last Synced: 2025-02-24T04:13:16.338Z (10 months ago)
- Language: Common Lisp
- Size: 124 KB
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Advent of Code 2020
A Programming Language Per Day
| Day | Language | Notes |
|:---:|:------------:|:--------------------------------------------------------------------|
| 1 | x86 Assembly | Uses a recursive backtracking algorithm capable of any number count |
| 2 | OCaml | Uses no additional storage -- O(1) space -- but reads file twice |
| 3 | Awk | Single pass through file, counting all tree collisions |
| 4 | Perl | Regular expression all the things |
| 5 | Bash | Only uses bash + coreutils (tr and echo are the only external cmds) |
| 6 | Python | Kakes use of generators and extensive list comprehensions |
| 7 | Julia | Regex + comprehension for input. Sets for determining composition |
| 8 | Lua | Translated from a javascript solution. My first lua program! |
| 9 | F# | (Ab)using sequences for fun(ctional programming) and profit |
| 10 | Haskell | Converted my OCaml solution to Haskell |
| 11 | C | Total of two dynamic memory allocations -- size is not hardcoded. |
| 12 | Swift | Combination of Functional, Object-oriented, and fun with enums |
| 13 | Rust | "Sliding bus" solver for part 2 rather than CRT |
| 14 | Ruby | Standard object-oriented Ruby |
| 15 | PHP | Uses a closure to simplify implementation |
| 16 | Lisp | Brute force implementation using core Common Lisp |
| 17 | C++ | Fully generic multidimensional code with hash sets for frontier |
| 18 | Flex + Bison | Building your own compiler counts as a language, right? |
| 19 | Kotlin | Non-deterministic Push-down automata simulator! |
| 20 | JavaScript* | Detect locations of tiles, then construct, then search* |
| 21 | R | Creates a new environment for the potential allergens + ingredients |
| 22 | TypeScript | Converted Javascript -> Typescript |
| 23 | Scala | No linked lists -- only arrays and fun in scala! |
| 24 | C# | LINQ where possible |
| 25 | Java | No real comments here. Pretty straight forward |
`*` Still working on an cleaner solution to Part 2
Potential Languages to Choose from (that I didn't...)
- D - dev environment wasn't easy
- Go - just didn't find a use
- Prolog - i wanted to use prolog for a problem but I'm not used to parsing in prolog
- TI-BASIC - for fun, I would definitely implement a day or two in TI-BASIC but input parsing?