Skip to content

mn113/adventofcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code 2015-2024

Parent repo for all my Advent of Code solutions repos.

Advent of Code is a problem-solving challenge across 25 days each December. I have tended to solve it each year within December, and let it lie dormant for 11 months.

Contents

year completion (stars/50) description
2015 12 WIP (retroactive)
2016 47 First participation. Solved using only Python.
2017 50 Solved in Ruby, Python, Elixir (new).
2018 20 Attempted in PHP. Lack of time to dedicate to solving.
2019 39 Solved in Python, Ruby, Elixir.
2020 50 Solved in Ruby, Python, Elixir, JS, PHP, Go (new).
2021 47 Solved in Elixir, Ruby, Python, JS, PHP.
2022 50 Solved in Elixir, Crystal (new), JS, Python, PHP.
2023 39 Solved in Elixir, Ruby, Python.
2024 50 Solved in Elixir, Python, JS, Ruby, Rust (new), PHP.
2025 22 Solved in Elixir, Python, Ruby

Thoughts on solving languages

  • Python: best language for quick solves, or anything hairy where the syntax shouldn't get in the way of lots of looping, BFS and OOP.
  • Ruby: most compact & elegant syntax, adapts well to easy and hard problems. Nice depth to standard library.
  • Elixir: sophisticated language which tends to produce robust and well-organised code. Though the advanced concepts have a learning curve, it's very satisfying when they pay off.
  • Javascript: very useful for sticky situations, and long problems needing good organisation. But too familiar from my day job!
  • PHP: not a very good choice for FP-style because its array functions are so clunky.
  • Crystal: feels too similar to Ruby. Will be nice to see if its types prevent bugs and its performance helps with long-running solutions.

About

Advent of Code solutions: parent repo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published