Skip to content

shpikat/advent-of-code-2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code 2019

All solutions

Introduction

Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.

See more at https://adventofcode.com/2019/about

A friend of mine mentioned he had done it the year before that, and he was going to do it again this year. So I thought to myself: This must be fun! 🎉 So, here we go: this is mostly about FUN.

My experience

The challenge for me is to come algorithm first using the standard library only. The intention is to learn and feel the language in itself. I mean, there is a reason for the language to have exactly what is has in SDK.

Having all that in mind, my concern is to create the properly maintainable code, which is nice to read, understand and hopefully learn from it.

Repository details

After completing Advent of Code 2020 (see shpikat/advent-of-code-2020 by the way), I realized I should've organized that a tad differently. Hence, The Great Refactor of 2021, where the solution verification is done through JUnit test suites.

Although there are days 13, 15 and 25 where some user interaction is provided. Those can be run through their main entrypoint.

Also, both parts of the solution are important as they are. Unfortunately I realized I should keep records of all my steps a little too late, so a few days in the beginning of the journey are missing their part 1.

Important to note Day 23 Part 2 tests are a bit flaky. My Intcode was designed to be run concurrently with the main procedure. Which played nicely until a great number of concurrent executions were required with no explicit execution control.