“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