Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tessferrandez/adventofcode-python
https://github.com/tessferrandez/adventofcode-python
advent-of-code advent-of-code-2021 puzzles python
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/tessferrandez/adventofcode-python
- Owner: TessFerrandez
- Created: 2019-12-03T10:04:21.000Z (about 5 years ago)
- Default Branch: develop
- Last Pushed: 2023-12-23T16:38:27.000Z (about 1 year ago)
- Last Synced: 2024-05-08T00:32:17.605Z (8 months ago)
- Topics: advent-of-code, advent-of-code-2021, puzzles, python
- Language: Python
- Size: 1.13 MB
- Stars: 10
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AdventOfCode-Python
Code for [www.adventofcode.com](www.adventofcode.com) in Python.
## 2022
**[Day 1](2022/day1.py)** - Calorie Counting - Sum groups of numbers
**[Day 2](2022/day2.py)** - Rock Paper Scissors
## 2021
**Day 1 [p1](2021/day1-1.py) [p2](2021/day1-2.py)** - Sonar Sweep -- Increasing numbers
**Day 2 [p1](2021/day2-1.py) [p2](2021/day2-2.py)** - Dive! -- Move submarine
**Day 3 [p1](2021/day3-1.py) [p2](2021/day3-2.py)** - Binary Diagnostics! -- Most common digit
**Day 4 [p1](2021/day4-1.py) [p2](2021/day4-2.py)** - Giant Squid! -- Bingo Cards
**Day 5 [p1](2021/day5-1.py) [p2](2021/day5-2.py)** - Hydrothermal Venture!
**[Day 6](2021/day6.py)** - Lanternfish -- Dynamic Programming
**[Day 7](2021/day7.py)** - The Treachery of Whales
**[Day 8](2021/day8.py)** - Seven Segment Search -- Find out what segments match
**[Day 9](2021/day9.py)** - Smoke Basin -- Region coloring
**[Day 10](2021/day10.py)** - Syntax Scoring -- Compiler matching
**[Day 11](2021/day11-dictionary.py) and [Day 11 with Numpy](2021/day11-numpy.py)** - Dumbo Octopus -- Grid flashing
**[Day 12](2021/day12.py) and [super fast DFS with memoization](2021/day12-memo.py)** - Passage Pathing -- Find all paths
**[Day 13](2021/day13.py)** - Transparent Origami -- Fold Grid
**[Day 14](2021/day14.py) and [an alternative DP/memoization solution](2021/day14-dp.py)** - Extended Polymerization -- Expanding strings
**[Day 15](2021/day15.py)** - Chiton -- Shortest path (Dynamic Programming and Djikstra)
**[Day 16 Part 1](2021/day16-1.py) and [Day 16 Part 1](2021/day16-2.py)** - Packet Decoder -- Parse packets
**[Day 17](2021/day17.py)** - Trick shot -- Predict trajectory
**[Day 18](2021/day18.py)** - Snailfish -- Binary Tree
**[Day 19](2021/day19.py)** - Beacon Scanner -- Overlapping scanners
**[Day 20](2021/day20.py)** - Trench Map -- Image enhancement
**[Day 21](2021/day21.py)** - Dirac Dice -- Dynamic programming
**[Day 22](2021/day22.py)** - Reactor Reboot -- Overlapping cubes
**[Day 23](2021/day23.py)** - Amphipod -- A* search in amphipod maze
**[Day 24](2021/day24.py)** - Arithmetic Logic Unit -- Translate and optimize ALU code
**[Day 25](2021/day25.py)** - Sea Cucumber -- East and Down moving sea cucumbers
## 2020
**[Day 1](2020/day1.py)** - Report Repair -- Find expenses adding up to 2020
**[Day 2](2020/day2.py)** - Password Philosophy -- Password validation
**[Day 3](2020/day3.py)** - Toboggan Trajectory -- Count trees
**[Day 4](2020/day4.py)** - Passport Processing -- Validate Passports
**[Day 5](2020/day5.py)** - Binary Boarding -- Binary boarding passes
**[Day 6](2020/day6.py)** - Custom Customs -- Find commonalities in groups of answers
**[Day 7](2020/day7.py)** - Handy Haversacks -- Calculating recursive bags needed
**[Day 8](2020/day8.py)** - Handheld Halting -- Implement a basic assembly compiler
**[Day 9](2020/day9.py)** - Encoding Error -- Find sums in lists
**[Day 10](2020/day10.py)** - Adapter Array -- Find combinations of adapters
**[Day 11](2020/day11.py)** - Seating System -- Alternate grid based on adjacent and visible
**[Day 12](2020/day12.py)** - Rain Risk -- moves and directions
**[Day 13](2020/day13.py)** - Shuttle Search -- chinese remainders and modulo operations
**[Day 14](2020/day14.py)** - Docking Data -- Bit masks
**[Day 15](2020/day15.py)** - Rambunctious Recitation -- Calculate when a number was last seen
**[Day 16](2020/day16.py)** - Ticket Translation -- Validate unreadable flight tickets
**[Day 17](2020/day17.py)** - Conway Cubes -- 3D and 4D Conway Cubes
**[Day 18](2020/day18.py)** - Operation Order -- Build a calculator with reverse operator order
**[Day 19](2020/day19.py)** - Monster Messages -- Rules Engine
**[Day 20](2020/day20.py)** - Jurassic Jigsaw -- rotate pieces, find sea monsters - This one was a nightmare
**[Day 21](2020/day21.py)** - Allergen Assessment -- finding allergens, list intersections
**[Day 22](2020/day22.py)** - Crab Combat -- simple card game
**[Day 23](2020/day23.py)** - Crab Cups -- circular game of cups - slow with list, super fast with dicts
**[Day 24](2020/day24.py)** - Lobby Layout -- hexagonal tiles and paths - reducing paths
**[Day 25](2020/day25.py)** - Combo Breaker -- RFID decryption
## 2019
**[Day 1](2019/day1.py)** - The Tyranny of the Rocket Equation -- Calculate Fuel
**[Day 2](2019/day2.py)** - 1202 Programming Alarm -- IntCode computer - Part I
**[Day 3](2019/day3.py)** - Crossing Wires -- (R32,L43...)
**[Day 4](2019/day4.py)** - Secure Container -- Passwords
**[Day 5](2019/day5.py)** - Sunny with a Chance of Asteroids -- IntCode - Part II
**[Day 6](2019/day6.py)** - Universal Orbit Map -- Calculate number of orbits A)B
**[Day 7](2019/day7.py)** - Amplification Circuit -- IntCode - Part III
**[Day 8](2019/day8.py)** - Space Image Format -- Layered images
**[Day 9](2019/day9.py)** - Sensor Boost -- IntCode IV
**[Day 10](2019/day10.py)** - Monitoring Station -- Vaporize asteroids in grid
**[Day 11](2019/day11.py)** - Space Police -- IntCode V
**[Day 12](2019/day12.py)** - The N-Body Problem -- calculate orbits and gravity
**[Day 13-1](2019/day13.py)** - Care Package -- IntCode VI -- draw arcade games
**[Day 14](2019/day14.py)** - Space Stoichiometry -- Create FUEL from ORE
**[Day 15](2019/day15.py)** - Oxygen System -- IntCode VII -- Maze
**[Day 16](2019/day16.py)** - Flawed Frequency Transmission -- Binomial code - crazy hard
**[Day 17](2019/day17.py)** - Set and Forget -- IntCode VIII - vacuum cleaner
**[Day 18](2019/day18.py)**
**[Day 19](2019/day19.py)**
## 2018
**[Day 1](2018/day1.py)** - Chronal Calibration -- Frequency changes
**[Day 2](2018/day2.py)** - Inventory Management System -- Candidate box IDs, and common letters
**[Day 3](2018/day3.py)** - No Matter How You Slice It -- Claim santa fabric
**[Day 4](2018/day4.py)** - Repose Record -- Sleeping guard logs
**[Day 5](2018/day5.py)** - Alchemical Reduction -- Reduce strings
**[Day 6](2018/day6.py)** - Chronical Coordinates -- Find largest area
**[Day 7](2018/day7.py)** - The Sum of Its Parts -- Calculate chain of events
**[Day 8](2018/day8.py)** - Memory Maneuver -- Read file contents with meta data
**[Day 9](2018/day9.py)** - Marble Mania -- Play a game of % 23 marbles
**[Day 10](2018/day10.py)** - The stars align -- Stars moving to show a message
**[Day 11](2018/day11.py)** - Chronal Charge -- Sum of 3x3 area
**[Day 12](2018/day12.py)** - Subterranean Sustainability -- ##..# => .
**[Day 13](2018/day13.py)** - Mine cart madness -- Train tracks.
**[Day 14](2018/day14.py)** - Chocolate Charts -- Calculate recipe sums.
**[Day 16](2018/day16.py)** - Chronal Classification -- Register program.
**[Day 17](2018/day17.py)** - Resevoir Research -- Water flow (with pygame animations)
**[Day 18](2018/day18.py)** - Settlers of The North Pole -- Morph the earth based on adjacent squares - part II repeating pattern
**[Day 19](2018/day19.py)** - Go With The Flow -- Reverse engineering op code - find divisors
**[Day 20](2018/day20.py)** - A Regular Map -- Regular expression paths - find shortest path
**[Day 21](2018/day21.py)** - Chronal Conversion -- Reverse engineer op code - optimize
**[Day 22](2018/day22.py)** - Mode Maze -- Maze with different areas and tools - dijkstra's algorithm
**[Day 23](2018/day23.py)** - Experimental Emergency Teleportation -- Range in 3D space - PART II is incomplete
## 2017
**[Day 1](2017/day1.py)** - Captcha -- Sum if same as next
**[Day 2](2017/day2.py)** - Corruption Checksum -- Sum of differences and divisors
**[Day 3](2017/day3.py)** - Spiral Memory -- Count steps from center
**[Day 4](2017/day4.py)** - High-Entropy Passphrases -- Valid passphrases
**[Day 5](2017/day5.py)** - A Maze of Twisty Trampolines, All Alike -- Int maze
**[Day 6](2017/day6.py)** - Memory Reallocation -- Distributing weight
**[Day 7](2017/day7.py)** - Recursive Circus -- Finding chains
**[Day 8](2017/day8.py)** - I Heard You Like Registers -- Execute jumps
**[Day 9](2017/day9.py)** - Stream Processing -- `` {group}
**[Day 10](2017/day10.py)** - Knot Hash -- Elves hashing function
**[Day 11](2017/day11.py)** - Hex Ed -- Reduce hexagonal path
**[Day 12](2017/day12.py)** - Digital Plumber -- Find islands of numbers
**[Day 13](2017/day13.py)** - Packet Scanners -- Scan layers of packages
**[Day 14](2017/day14.py)** - Disk Defragmentation -- Knot Hash, and clustering binary regions
**[Day 15](2017/day15.py)** - Dueling Generators -- Checking pairs of binary numbers
**[Day 16](2017/day16.py)** - Permutation Promenade -- Compiler for program dance
**[Day 17](2017/day17.py)** - Spinlock -- Crazy spinlock algorithm
**[Day 18](2017/day18.py)** - Duet -- Compiler for sender/receiver
**[Day 19](2017/day19.py)** - A Series of Tubes -- Follow a path
**[Day 20](2017/day20.py)** - Particle Swarm -- Accelerate Particles
**[Day 21](2017/day21.py)** - Fractal Art -- Replace rows by rules
**[Day 22](2017/day22.py)** - Sporifica Virus -- Virus infection
**[Day 23](2017/day23.py)** - Coprocessor Conflagation -- Simple compiler
**[Day 24](2017/day24.py)** - Electromagnetic Moat -- Domino chain
**[Day 25](2017/day25.py)** - The Halting Problem -- Turing machine
## 2016
**[Day 1](2016/day1.py)** - No Time for a Taxicab -- Rotate Right and Left
**[Day 2](2016/day2.py)** - Bathroom Security -- Keypads
**[Day 3](2016/day3.py)** - Squares With Three Sides -- Good Triangles
**[Day 4](2016/day4.py)** - Security Through Obscurity -- encrypted rooms
**[Day 5](2016/day5.py)** - How About a Nice Game of Chess? -- MD5
**[Day 6](2016/day6.py)** - Signals and Noise -- Most common in each column
**[Day 7](2016/day7.py)** - Internet Protocol Version 7 -- Validate IP address
**[Day 8](2016/day8.py)** - Two-Factor Authentication -- Light screen
**[Day 9](2016/day9.py)** - Explosives in Cyberspace -- Decompressing strings
**[Day 10](2016/day10.py)** - Balance Bots -- Bots moving numbers
**[Day 11](2016/day11.py)** - Radioisotope Thermoelectric Generators - Move elevator up and down (other peoples code)
**[Day 12](2016/day12.py)** - Leonardo's Monorail -- mini compiler
**[Day 13](2016/day13.py)** - A Maze of Twisty Little Cubicles -- maze
**[Day 14](2016/day14.py)** - One-Time Pad -- MD5 hash
**[Day 15](2016/day15.py)** - Timing is everything -- Rotating discs
**[Day 16](2016/day16.py)** - Dragon Checksum -- Dragon curve random data
**[Day 17](2016/day17.py)** - Two Steps Forward -- Path to Vault
**[Day 18](2016/day18.py)** - Like a Rogue -- Traps and Safes
**[Day 19](2016/day19.py)** - An Elephant Named Joseph -- Stealing gifts in a circle
**[Day 20](2016/day20.py)** - Firewall Rules -- Count available IPs
**[Day 21](2016/day21.py)** - Scrambled Letters and Hash -- Scramble letters according to instructions
**[Day 22](2016/day22.py)** - Grid Computing -- Sliding puzzle
**[Day 23](2016/day23.py)** - Safe Cracking -- Simple compiler with toggle
**[Day 24](2016/day24.py)** - Air Duct Spelunking -- Find best path visiting all numbers
**[Day 25](2016/day25.py)** - Clock Signal -- More bunny compiler
## 2015
**[Day 1](2015/day1.py)** - Not Quite Lisp -- Calculate ())))(
**[Day 2](2015/day2.py)** - I Was Told There Would Be No Math -- Ribbons and Paper
**[Day 3](2015/day3.py)** - Perfectly Spherical Houses in a Vacuum -- ^v^v^v^v^v
**[Day 4](2015/day4.py)** - The Ideal Stocking Stuffer -- MD5
**[Day 5](2015/day5.py)** - Doesn't He Have Intern-Elves For This? -- Passwords
**[Day 6](2015/day6.py)** - Probably a Fire Hazard -- Grid Board
**[Day 7](2015/day7.py)** - Some Assembly Required -- Bitwise Logic gates
**[Day 8](2015/day8.py)** - Matchsticks -- Calculate escape characters
**[Day 9](2015/day9.py)** - All in a Single Night -- Shortest route between cities
**[Day 10](2015/day10.py)** - Elves Look, Elves Say -- Look and say numbers
**[Day 11](2015/day11.py)** - Corporate Policy -- Password Regexps
**[Day 12](2015/day12.py)** - JSAbacusFramework.io -- Finding numbers in string
**[Day 13](2015/day13.py)** - Knights of the Dinner Table -- Find optimal seating
**[Day 14](2015/day14.py)** - Reindeer Olympics -- How long did the winning deer travel
**[Day 15](2015/day15.py)** - Science for Hungry People -- Best cookie ingredient combo
**[Day 16](2015/day16.py)** - Aunt Sue -- Find out which Aunt Sues
**[Day 17](2015/day17.py)** - No Such Thing as Too Much -- Combos of egg nog containers
**[Day 18](2015/day18.py)** - Like a GIF For Your Yard -- Conways game of life
**[Day 19](2015/day19.py)** - Medicine for Rudolph -- Replace substrings
**[Day 20](2015/day20.py)** - Infinite Elves and Infinite Houses -- Prime factors
**[Day 21](2015/day21.py)** - RPG Simulator 20XX -- Armor and Damage
**[Day 22](2015/day22.py)** - Wizard Simulator 20XX -- Mana and damage
**[Day 23](2015/day23.py)** - Opening the Turning Lock -- Tiny compiler
**[Day 24](2015/day24.py)** - It hangs in the balance -- Balancing packages
**[Day 25](2015/day25.py)** - Let it snow -- Calculate code