Skip to content

RoccoFortuna/advent_of_code_2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

advent_of_code_2020

Complete solutions implementation of Advent of Code 2020 (AOC) coding problems.

The Challenge

The challenge lasted 25 days from 1st to 25th of December. Each day a new problem consisting of two parts was made available. Problems in this repository were solved daily during the advent period, then cleaned up slightly for publication.

My Goals

I used the AOC challenge to consolidate my Python programming language skills, explore more advanced Python concepts and improve algorithmic thinking and implementation efficiency.

The Code

For some challenges I deemed it appropriate to give up on some efficiency for code readability and clarity. Nevertheless, asymptotic running time complexity has been one major concern throughout the challenge, allowing me to reach optimal running time solutions for most problems.

The solutions to the simplest problems present both parts in a single file. Whenever major reformatting was needed to adapt the solution to part 2, I coded it from scratch in a separate part2 file.

Each solution is given as a runnable python script featuring a main. First step in each problem is ad hoc input parsing. Coherent functional blocks are then organized into functions as to render code reusable as well as more readable, structured and interpretable. Type hinting was used to explicit types and improve code quality. Finally, intermediate assertions, code testing and prints were removed ahead of publication.

About

Advent of Code 2020 coding challenge.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages