“Advent of Code is a series of small programming puzzles for a variety of skill levels.”
Each day was a fun an interesting coding challenge. I’ve decided to practice and code this in python to learn the skill. Some of them might not be the best python scripting as I was short on time in some days but still wanted to complete the task. Not always the output from the script is a direct answer to the daily challenge, sometimes it’s not the fastest solution possible.
Day 1: Inverse Captcha
Details – http://adventofcode.com/2017/day/1
Solution to part 1 – https://gist.github.com/pawlos/82f1f97828fccc9a117c637b9b710a66.html
Solution to part 2 – https://gist.github.com/pawlos/fd7a6c1823cf9a713ef50f245105dd4c.html
Day 2: Corruption Checksum
Details – http://adventofcode.com/2017/day/2
Solution to part 1 – https://gist.github.com/pawlos/bb20a7b8f0d0c9f7f4532f84106074ce
Solution to part 2 – https://gist.github.com/pawlos/24dc8a45f7fa555157bc65aaf04d428a
Day 3: Spiral Memory
Details – http://adventofcode.com/2017/day/3
Solution to part 1 – https://gist.github.com/pawlos/0cefa9d753bd6416e6cc9a456ed787f7
Solution to part 2 – https://gist.github.com/pawlos/b3bdcbb781e0fc1d3bd887d414583863
Day 4: High-Entropy Passphrases
Details – http://adventofcode.com/2017/day/4
Solution to part 1 – https://gist.github.com/pawlos/7f9ba37abaecb4982f8004b291fd1ba0
Solution to part 2 – https://gist.github.com/pawlos/00f277220389cf221c747ce883f1859e
Day 5: A Maze of Twisty Trampolines, All Alike
Details – http://adventofcode.com/2017/day/5
Solution to part 1 – https://gist.github.com/pawlos/908e808e6b1b1c31703e06447602cc55
Solution to part 2 – https://gist.github.com/pawlos/931710a8cb12a6a0e7a1196e7f74a241
Day 6: Memory Reallocation
Details – http://adventofcode.com/2017/day/6
Solution to part 1 – https://gist.github.com/pawlos/a24ba3c943e5ef6bd79282c81a220547
Solution to part 2 – https://gist.github.com/pawlos/2a2dc38a80dabb8e3ac2f5fc25c9b71d
Day 7: Recursive Circus
Details – http://adventofcode.com/2017/day/7
Solution to part 1 – https://gist.github.com/pawlos/e9fdd3c06d5b75128eabf015305323b6
Solution to part 2 – https://gist.github.com/pawlos/014bb51611a7b62fe354f1e7c53a6e08
Day 8: I Heard You Like Registers
Details – http://adventofcode.com/2017/day/8
Solution to part 1 – https://gist.github.com/pawlos/6aeb8a524e94cb83b07cb9a799711cd4
Solution to part 2 – https://gist.github.com/pawlos/2b5bcb1e02839e66c3fed8c6bce57f29
Day 9: Stream Processing
Details – http://adventofcode.com/2017/day/9
Solution to part 1 – https://gist.github.com/pawlos/71a270fdef94404734b383f6e3cb2301
Solution to part 2 – https://gist.github.com/pawlos/bd153a53389ee09e7a8ee6b90ea1f116
Day 10: Knot Hash
Details – http://adventofcode.com/2017/day/10
Solution to part 1 – https://gist.github.com/pawlos/d198a7409f8ed6afcd46c2ddd16450b9
Solution to part 2 – https://gist.github.com/pawlos/863ced736a22b43d477bf489b181bb42
Day 11: Hex Ed
Details – http://adventofcode.com/2017/day/11
Solution to part 1 – https://gist.github.com/pawlos/0e6a529420d64e94ae2ab9916f32248c
Solution to part 2 – https://gist.github.com/pawlos/f013e298c150d0b07370d0bdfff4fe0f
Day 12: Digital Plumber
Details – http://adventofcode.com/2017/day/12
Solution to part 1 – https://gist.github.com/pawlos/0179419b9e6b6bd72bb1fd59e8fb4233
Solution to part 2 – https://gist.github.com/pawlos/25963ca3f66c788cf9261c5c1d10e58b
Day 13: Packet Scanners
Details – http://adventofcode.com/2017/day/13
Solution to part 1 – https://gist.github.com/pawlos/cb3578b4e29bb7ce753907a261b8256e
Solution to part 2 – https://gist.github.com/pawlos/8218b4934a3e4396eb480e0083785ab6
Day 14: Disk Defragmentation
Details – http://adventofcode.com/2017/day/14
Solution to part 1 – https://gist.github.com/pawlos/24c26762184837457c5b0cd9f4b8fe5f
Solution to part 2 – https://gist.github.com/pawlos/4b322a408e5c3c65c923571062ccdee2
Day 15: Dueling Generators
Details – http://adventofcode.com/2017/day/15
Solution to part 1 – https://gist.github.com/pawlos/0461352818500cd46b3183f8bbacc539
Solution to part 2 – https://gist.github.com/pawlos/fec8f99521de483a3e3d3fd1127d6cef
Day 16: Permutation Promenade
Details – http://adventofcode.com/2017/day/16
Solution to part 1 – https://gist.github.com/pawlos/d355e133b372b90e429a97e204f7b067
Solution to part 2 – https://gist.github.com/pawlos/98b45d417f6427c4108978b8964af9c8
Day 17: Spinlock
Details – http://adventofcode.com/2017/day/17
Solution to part 1 – https://gist.github.com/pawlos/321e0657fbcc9808be0a12732cc1a2c0
Solution to part 2 – https://gist.github.com/pawlos/c8456415e7e944476c9cf3b1ee8f8569
Day 18: Duet
Details – http://adventofcode.com/2017/day/18
Solution to part 1 – https://gist.github.com/pawlos/d2d5d12b1cf2f14995115a8308ce094e
Solution to part 2 – https://gist.github.com/pawlos/c2bd0ebb7f48fecd1a5fd254dc68e050
Day 19: A Series of Tubes
Details – http://adventofcode.com/2017/day/19
Solution to part 1 – https://gist.github.com/pawlos/8d470da8c54f4e4f4e3b25cb3bef74a5
Solution to part 2 – https://gist.github.com/pawlos/32277a094a960761fba2c147ed9aa6dd
Day 20: Particle Swarm
Details – http://adventofcode.com/2017/day/20
Solution to part 1 – https://gist.github.com/pawlos/ebeb4eb8b3c8ea842cb7064505f1c404
Solution to part 2 – https://gist.github.com/pawlos/2dbbe0fb1e227b4468e34a0fddea2bbf
Day 21: Fractal Art
Details – http://adventofcode.com/2017/day/21
Solution to part 1 – https://gist.github.com/pawlos/ee5fc801b8454c0a58ae76ee22a121c5
Solution to part 2 – Same as for part 1 but after more iterations.
Day 22: Sporifica Virus
Details – http://adventofcode.com/2017/day/22
Solution to part 1 – https://gist.github.com/pawlos/ff75dd473c3742af5b893a388b24100e
Solution to part 2 – https://gist.github.com/pawlos/2c2bb4d29cfaceef30ad93379aece410
Day 23: Coprocessor Conflagration
Details – http://adventofcode.com/2017/day/23
Solution to part 1 – https://gist.github.com/pawlos/83a364442c4866bb8456ccfbae0a0503
Solution to part 2 – https://gist.github.com/pawlos/dfce8ab3fe7a9fce529f51f33d5a1b1a
Day 24: Electromagnetic Moat
Details – http://adventofcode.com/2017/day/24
Solution to part 1 – https://gist.github.com/pawlos/482e24afc80ddc36f2847800eb1432ee.html
Solution to part 2 – https://gist.github.com/pawlos/ef49fc86128ef98c46beab1a33fc80e6.html
Day 25: The Halting Problem
For the final day the task was to implement a Turing Machine – https://gist.github.com/pawlos/d64c39bd8dc36f832587acaadf0ff612.html
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl