Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

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