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: about 2 months ago
JSON representation
My solutions for Advent of Code 2016
- Host: GitHub
- URL: https://github.com/narimiran/advent_of_code_2016
- Owner: narimiran
- Created: 2016-12-01T16:17:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-11-29T17:51:17.000Z (6 months ago)
- Last Synced: 2025-04-10T15:27:00.397Z (about 2 months ago)
- Topics: advent, advent-of-code, advent-of-code-2016, adventofcode, adventofcode2016, puzzle, puzzles, python, python3
- Language: Clojure
- Size: 350 KB
- Stars: 5
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 (+ visualizations)](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)
* [AoC 2024 in Clojure (Clerk notebooks)](https://github.com/narimiran/aoc2024)
## 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) |
[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

Source: [day01_viz.clj](clojure/day01_viz.clj)
### Day 2

Source: [day02_viz.clj](clojure/day02_viz.clj)
### Day 8

Source: [day08_viz.clj](clojure/day08_viz.clj)
### Day 12

Source: [day12_viz.clj](clojure/day12_viz.clj)
### Day 13

Source: [day13_viz.clj](clojure/day13_viz.clj)
### Day 15

Source: [day15_viz.clj](clojure/day15_viz.clj)
### Day 25

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