Coder Social home page Coder Social logo

advent-of-code-2018's Introduction

Advent of Code 2018

Solutions to the Advent of Code 2018 edition by Jeroen Heijmans.

Running

Pick your poison:

  • Command line: dotnet test
  • IDE, just run all the tests with your favorite test runner

Lessons

Here's what I learned (or noticed) each day.

  1. You should prepare if you want to compete in challenges.
  2. C#'s LINQ features are not "like riding a bike".
  3. Don't use all input you get for problems.
  4. I have a healthy fear of DateTime types, and avoid them unless needed.
  5. Using mostly "for each" in app development, I almost forgot "Off By One" errors existed.
  6. Sets are fast for 'Contains(...)` operations.
  7. God I wish I knew Python and its graph libraries...
  8. Static typing can slow you down a lot in AoC.
  9. Doubly linked lists are the bomb!
  10. Not everything is (nor should be) easily unit-testable
  11. Having a partner that understands (and puts up with) your hobbies is golden!
  12. Advent of Code is the Game of Life for one month a year.
  13. Object Oriented programming sometimes still shines.
  14. Choose the right data structure for the right job.
  15. I have determination! (And also spent 17+ hours over two days on this puzzle.)
  16. Bulky, precise work requires concentration.
  17. Physics are fun!
  18. Excel to the rescue (for a quick & dirty answer). Again.
  19. I despise low level programming and debugging.
  20. Real regex engines must be mindbending to build.
  21. I abhor low level programming and debugging.
  22. Pathfinding in puzzles is tricky. Pathfinding in real games must be grueling.
  23. I didn't know what "SMT" was, and am apparently quite bad at handcrafting one.
  24. Flavor and context to problems mean a lot to me!
  25. Being precise is hard. Being precise at 05:00 in the morning is harder.

Compendium Repositories

I've created a browser extension for Google Chrome and Mozilla Firefox. It is open source to spice up your private leaderboard page with graphs if you want to contribute!

In addition, you can also check my Advent of Code 2017 solutions, done in JavaScript.

advent-of-code-2018's People

Contributors

jeroenheijmans avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.