Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/narimiran/advent_of_code_2016

My solutions for Advent of Code 2016
https://github.com/narimiran/advent_of_code_2016

advent advent-of-code advent-of-code-2016 adventofcode adventofcode2016 puzzle puzzles python python3

Last synced: 23 days ago
JSON representation

My solutions for Advent of Code 2016

Awesome Lists containing this project

README

        

# Advent of Code 2016

All my Advent of Code repos:

* [AoC 2015 in Nim, Python](https://github.com/narimiran/advent_of_code_2015)
* [AoC 2016 in Python, Clojure](https://github.com/narimiran/advent_of_code_2016) (this repo)
* [AoC 2017 in Nim, OCaml, Python](https://github.com/narimiran/AdventOfCode2017)
* [AoC 2018 in Nim, Python, Racket](https://github.com/narimiran/AdventOfCode2018)
* [AoC 2019 in OCaml, Python](https://github.com/narimiran/AdventOfCode2019)
* [AoC 2020 in Nim, one liner-y Python, Racket](https://github.com/narimiran/AdventOfCode2020)
* [AoC 2021 in Python, Racket](https://github.com/narimiran/AdventOfCode2021)
* [AoC 2022 in Python, Clojure](https://github.com/narimiran/AdventOfCode2022)
* [AoC 2023 in Clojure](https://github.com/narimiran/AdventOfCode2023)

 

## Solutions

First ten puzzles were solved as they were published, then came the infamous [Dec 11 task](http://adventofcode.com/2016/day/11), which crushed my hopes and motivation.
After some desperation, I've managed to solve first 20 puzzles before Christmas, then took a long break and finished all challenges on March 19th 2017.

Comments, suggestions and critiques are welcome.

 

2023 update:
- I solved several tasks in Clojure in November 2023, as a preparation for AoC 2023.
- I also did some visualizations. See below for gifs.

 

Task | Python | Clojure
--- | --- | ---
[Dec 01: No Time for a Taxicab](http://adventofcode.com/2016/day/1) | [day_01.py](python/day_01.py) | [day01.clj](clojure/day01.clj), [day01_viz.clj](clojure/day01_viz.clj)
[Dec 02: Bathroom Security](http://adventofcode.com/2016/day/2) | [day_02.py](python/day_02.py) | [day02.clj](clojure/day02.clj), [day02_viz.clj](clojure/day02_viz.clj)
[Dec 03: Squares With Three Sides](http://adventofcode.com/2016/day/3) | [day_03.py](python/day_03.py), [numpy](python/day_03_numpy.py) | [day03.clj](clojure/day03.clj)
[Dec 04: Security Through Obscurity](http://adventofcode.com/2016/day/4) | [day_04.py](python/day_04.py) | [day04.clj](clojure/day04.clj)
[Dec 05: How About a Nice Game of Chess](http://adventofcode.com/2016/day/5) | [day_05.py](python/day_05.py) |
[Dec 06: Signals and Noise](http://adventofcode.com/2016/day/6) | [day_06.py](python/day_06.py) | [day06.clj](clojure/day06.clj)
[Dec 07: Internet Protocol Version 7](http://adventofcode.com/2016/day/7) | [day_07.py](python/day_07.py) | [day07.clj](clojure/day07.clj)
[Dec 08: Two-Factor Authentication](http://adventofcode.com/2016/day/8) | [day_08.py](python/day_08.py) | [day08.clj](clojure/day08.clj), [day08_viz.clj](clojure/day08_viz.clj)
[Dec 09: Explosives in Cyberspace](http://adventofcode.com/2016/day/9) | [day_09.py](python/day_09.py) | [day09.clj](clojure/day09.clj)
[Dec 10: Balance Bots](http://adventofcode.com/2016/day/10) | [day_10.py](python/day_10.py) | [day10.clj](clojure/day10.clj)
[Dec 11: Radioisotope Thermoelectric Generators](http://adventofcode.com/2016/day/11) | [day_11.py](python/day_11.py) | [day11.clj](clojure/day11.clj)
[Dec 12: Leonardo's Monorail](http://adventofcode.com/2016/day/12) | [day_12.py](python/day_12.py), [literal](python/day_12_literal.py) | [day12.clj](clojure/day12.clj), [day12_viz.clj](clojure/day12_viz.clj)
[Dec 13: A Maze of Twisty Little Cubicles](http://adventofcode.com/2016/day/13) | [day_13.py](python/day_13.py) | [day13.clj](clojure/day13.clj), [day13_viz.clj](clojure/day13_viz.clj)
[Dec 14: One-Time Pad](http://adventofcode.com/2016/day/14) | [day_14.py](python/day_14.py) |
[Dec 15: Timing is Everything](http://adventofcode.com/2016/day/15) | [day_15.py](python/day_15.py) | [day15.clj](clojure/day15.clj), [day15_viz.clj](clojure/day15_viz.clj)
[Dec 16: Dragon Checksum](http://adventofcode.com/2016/day/16) | [day_16.py](python/day_16.py) |
[Dec 17: Two Steps Forward](http://adventofcode.com/2016/day/17) | [day_17.py](python/day_17.py) |
[Dec 18: Like a Rogue](http://adventofcode.com/2016/day/18) | [day_18.py](python/day_18.py) | [day18.clj](clojure/day18.clj)
[Dec 19: An Elephant Named Joseph](http://adventofcode.com/2016/day/19) | [day_19.py](python/day_19.py) |
[Dec 20: Firewall Rules](http://adventofcode.com/2016/day/20) | [day_20.py](python/day_20.py) | [day20.clj](clojure/day20.clj)
[Dec 21: Scrambled Letters and Hash](http://adventofcode.com/2016/day/21) | [day_21.py](python/day_21.py) |
[Dec 22: Grid Computing](http://adventofcode.com/2016/day/22) | [day_22.py](python/day_22.py) |
[Dec 23: Safe Cracking](http://adventofcode.com/2016/day/23) | [day_23.py](python/day_23.py), [literal](python/day_23_literal.py) | [day23.clj](clojure/day23.clj)
[Dec 24: Air Duct Spelunking](http://adventofcode.com/2016/day/24) | [day_24.py](python/day_24.py) |
[Dec 25: Clock Signal](http://adventofcode.com/2016/day/25) | [day_25.py](python/day_25.py) | [day25.clj](clojure/day25.clj), [day25_viz.clj](clojure/day25_viz.clj)

 

## Visualizations

Visualizations were done in Clojure, using `quil` library, and then converted to gif via ImageMagick.

### Day 1

![day01.gif](https://i.imgur.com/xT8mdWS.gif)

Source: [day01_viz.clj](clojure/day01_viz.clj)

### Day 2

![day02.gif](https://i.imgur.com/qkWz2zR.gif)

Source: [day02_viz.clj](clojure/day02_viz.clj)

### Day 8

![day08.gif](https://i.imgur.com/vERUTsA.gif)

Source: [day08_viz.clj](clojure/day08_viz.clj)

### Day 12

![day12.gif](https://i.imgur.com/l1aZp4S.gif)

Source: [day12_viz.clj](clojure/day12_viz.clj)

### Day 13

![day13.gif](https://i.imgur.com/Qk1n6nv.gif)

Source: [day13_viz.clj](clojure/day13_viz.clj)

### Day 15

![day15.gif](https://i.imgur.com/SD1zGS0.gif)

Source: [day15_viz.clj](clojure/day15_viz.clj)

### Day 25

![day25.gif](https://i.imgur.com/YyqbfJn.gif)

Source: [day25_viz.clj](clojure/day25_viz.clj)