Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/metalim/adventofcode.2016.go

My solutions in Go for Advent of Code 2016 in Go. Done in 2019.01.
https://github.com/metalim/adventofcode.2016.go

advent-of-code advent-of-code-2016 golang

Last synced: 6 days ago
JSON representation

My solutions in Go for Advent of Code 2016 in Go. Done in 2019.01.

Awesome Lists containing this project

README

        

# Advent of Code 2016 in Go

These are my soluions for [Advent of Code 2016](https://adventofcode.com/2016/) written in Go.

I've solved them in Coffeescript one year ago. But since I'm learning Go at the moment, and have just finished writing solutions for puzzles for years 2017 and 2018, I've decided to continue with 2016 puzzles, refactoring and cleaning up solutions as much as possible.

Goals:

* implement generic code, that can come in handy during programming contests;
* same as for years 2017/2018: learn & document quirks & tricks of Go, which are new to me.

## "Go gotchas"

Go is low-level language with built-in concurrency and garbage collection, designed as a highly efficient C++ or Java competitor. To achieve high speed (both in compilation and execution), some surprising design decisions were made. It takes time to learn them.

For list of quirks found previously, refer to README of my Go solutions for year [2018](https://github.com/metalim/metalim.adventofcode.2018.go/blob/master/README.md#go-gotchas) and [2017](https://github.com/metalim/metalim.adventofcode.2017.go/blob/master/README.md#go-gotchas).

## Puzzle inputs

Inputs are automatically retrieved from Advent of Code, provided you put at least one `.cookie` into `inputs/` folder. To get the cookie, refer to website properties in your browser, after logging in into Advent of Code website.

## Log

Check out [LOG.md](LOG.md) for specifics of each task.

## All years AoC solutions

* 2022
* [Go](https://github.com/metalim/metalim.adventofcode.2022.go)
* 2021
* [Go](https://github.com/metalim/metalim.adventofcode.2021.go)
* 2020
* [Lรคng & Python](https://github.com/metalim/metalim.adventofcode.2020.lang) โœŒ๐Ÿ˜Ž
* 2019
* [Python in Jupyter Notebook](https://github.com/metalim/metalim.adventofcode.2019.python) โ€” love this one, as it shows pretty results on GitHub
* 2018
* [Go](https://github.com/metalim/metalim.adventofcode.2018.go)
* 2017
* **[CoffeeScript](https://github.com/metalim/metalim.adventofcode.2017) ๐Ÿ‘ˆ first year I was doing AoC**
* [Go](https://github.com/metalim/metalim.adventofcode.2017.go) โ€” done in December 2018
* 2016
* [CoffeeScript](https://github.com/metalim/metalim.adventofcode.2016) โ€” done in December 2017
* [Go](https://github.com/metalim/metalim.adventofcode.2016.go) โ€” done in January 2019, incomplete ๐Ÿ‘ˆ you are here
* 2015
* [CoffeeScript](https://github.com/metalim/metalim.adventofcode.2015) โ€” done in December 2017