Ecosyste.ms: Awesome

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

https://github.com/gahjelle/advent_of_code

My attempts at solving some of the excellent puzzles at adventofcode.com
https://github.com/gahjelle/advent_of_code

advent-of-code elixir julia python

Last synced: 4 days ago
JSON representation

My attempts at solving some of the excellent puzzles at adventofcode.com

Lists

README

        

# Advent of Code

My attempts at solving the excellent puzzles at [adventofcode.com](http://adventofcode.com/) in different languages:

- 🐍 [Python](python/) (332 ⭐)
- 💧 [Elixir](elixir/) (150 ⭐)
- 🍡 [Julia](julia/) (12 ⭐)

All my solutions (352 ⭐):

| Day | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 |
|------:|:---------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
| 1 | [💧](elixir/lib/2015/01_not_quite_lisp)[🐍](python/2015/01_not_quite_lisp) | [💧](elixir/lib/2016/01_no_time_for_a_taxicab)[🐍](python/2016/01_no_time_for_a_taxicab) | [💧](elixir/lib/2017/01_inverse_captcha)[🐍](python/2017/01_inverse_captcha) | [💧](elixir/lib/2018/01_chronal_calibration)[🐍](python/2018/01_chronal_calibration) | [💧](elixir/lib/2019/01_the_tyranny_of_the_rocket_equation)[🍡](julia/2019/01_the_tyranny_of_the_rocket_equation)[🐍](python/2019/01_the_tyranny_of_the_rocket_equation) | [💧](elixir/lib/2020/01_report_repair)[🍡](julia/2020/01_report_repair)[🐍](python/2020/01_report_repair) | [💧](elixir/lib/2021/01_sonar_sweep)[🐍](python/2021/01_sonar_sweep) | [💧](elixir/lib/2022/01_calorie_counting)[🐍](python/2022/01_calorie_counting) | [💧](elixir/lib/2023/01_trebuchet)[🐍](python/2023/01_trebuchet) |
| 2 | [💧](elixir/lib/2015/02_i_was_told_there_would_be_no_math)[🐍](python/2015/02_i_was_told_there_would_be_no_math) | [💧](elixir/lib/2016/02_bathroom_security)[🐍](python/2016/02_bathroom_security) | [💧](elixir/lib/2017/02_corruption_checksum)[🐍](python/2017/02_corruption_checksum) | [💧](elixir/lib/2018/02_inventory_management_system)[🐍](python/2018/02_inventory_management_system) | [💧](elixir/lib/2019/02_1202_program_alarm)[🐍](python/2019/02_1202_program_alarm) | [💧](elixir/lib/2020/02_password_philosophy)[🍡](julia/2020/02_password_philosophy)[🐍](python/2020/02_password_philosophy) | [💧](elixir/lib/2021/02_dive)[🐍](python/2021/02_dive) | [💧](elixir/lib/2022/02_rock_paper_scissors)[🐍](python/2022/02_rock_paper_scissors) | [💧](elixir/lib/2023/02_cube_conundrum)[🐍](python/2023/02_cube_conundrum) |
| 3 | [💧](elixir/lib/2015/03_perfectly_spherical_houses_in_a_vacuum)[🐍](python/2015/03_perfectly_spherical_houses_in_a_vacuum) | [💧](elixir/lib/2016/03_squares_with_three_sides)[🐍](python/2016/03_squares_with_three_sides) | [💧](elixir/lib/2017/03_spiral_memory)[🐍](python/2017/03_spiral_memory) | [💧](elixir/lib/2018/03_no_matter_how_you_slice_it)[🐍](python/2018/03_no_matter_how_you_slice_it) | [💧](elixir/lib/2019/03_crossed_wires)[🐍](python/2019/03_crossed_wires) | [💧](elixir/lib/2020/03_toboggan_trajectory)[🍡](julia/2020/03_toboggan_trajectory)[🐍](python/2020/03_toboggan_trajectory) | [💧](elixir/lib/2021/03_binary_diagnostic)[🐍](python/2021/03_binary_diagnostic) | [💧](elixir/lib/2022/03_rucksack_reorganization)[🐍](python/2022/03_rucksack_reorganization) | [🐍](python/2023/03_gear_ratios) |
| 4 | [💧](elixir/lib/2015/04_the_ideal_stocking_stuffer)[🐍](python/2015/04_the_ideal_stocking_stuffer) | [🐍](python/2016/04_security_through_obscurity) | [🐍](python/2017/04_high-entropy_passphrases) | [💧](elixir/lib/2018/04_repose_record) | [🐍](python/2019/04_secure_container) | [🐍](python/2020/04_passport_processing) | [💧](elixir/lib/2021/04_giant_squid)[🐍](python/2021/04_giant_squid) | [💧](elixir/lib/2022/04_camp_cleanup)[🐍](python/2022/04_camp_cleanup) | [💧](elixir/lib/2023/04_scratchcards)[🐍](python/2023/04_scratchcards) |
| 5 | [💧](elixir/lib/2015/05_doesnt_he_have_intern-elves_for_this)[🐍](python/2015/05_doesnt_he_have_intern-elves_for_this) | [🐍](python/2016/05_how_about_a_nice_game_of_chess) | [🐍](python/2017/05_a_maze_of_twisty_trampolines_all_alike) | [💧](elixir/lib/2018/05_alchemical_reduction) | [🐍](python/2019/05_sunny_with_a_chance_of_asteroids) | [💧](elixir/lib/2020/05_binary_boarding)[🐍](python/2020/05_binary_boarding) | [💧](elixir/lib/2021/05_hydrothermal_venture)[🐍](python/2021/05_hydrothermal_venture) | [💧](elixir/lib/2022/05_supply_stacks)[🐍](python/2022/05_supply_stacks) | [🐍](python/2023/05_if_you_give_a_seed_a_fertilizer) |
| 6 | [💧](elixir/lib/2015/06_probably_a_fire_hazard)[🐍](python/2015/06_probably_a_fire_hazard) | [🐍](python/2016/06_signals_and_noise) | [🐍](python/2017/06_memory_reallocation) | [💧](elixir/lib/2018/06_chronal_coordinates) | [🐍](python/2019/06_universal_orbit_map) | [🐍](python/2020/06_custom_customs) | [💧](elixir/lib/2021/06_lanternfish)[🐍](python/2021/06_lanternfish) | [💧](elixir/lib/2022/06_tuning_trouble)[🐍](python/2022/06_tuning_trouble) | [💧](elixir/lib/2023/06_wait_for_it)[🐍](python/2023/06_wait_for_it) |
| 7 | [💧](elixir/lib/2015/07_some_assembly_required)[🐍](python/2015/07_some_assembly_required) | [🐍](python/2016/07_internet_protocol_version_7) | [🐍](python/2017/07_recursive_circus) | [💧](elixir/lib/2018/07_the_sum_of_its_parts) | [🐍](python/2019/07_amplification_circuit) | [🐍](python/2020/07_handy_haversacks) | [💧](elixir/lib/2021/07_the_treachery_of_whales)[🐍](python/2021/07_the_treachery_of_whales) | [💧](elixir/lib/2022/07_no_space_left_on_device)[🐍](python/2022/07_no_space_left_on_device) | [💧](elixir/lib/2023/07_camel_cards)[🐍](python/2023/07_camel_cards) |
| 8 | [🐍](python/2015/08_matchsticks) | [🐍](python/2016/08_two-factor_authentication) | [🐍](python/2017/08_i_heard_you_like_registers) | [💧](elixir/lib/2018/08_memory_maneuver) | [🐍](python/2019/08_space_image_format) | [🐍](python/2020/08_handheld_halting) | [💧](elixir/lib/2021/08_seven_segment_search)[🐍](python/2021/08_seven_segment_search) | [💧](elixir/lib/2022/08_treetop_tree_house)[🐍](python/2022/08_treetop_tree_house) | [💧](elixir/lib/2023/08_haunted_wasteland)[🐍](python/2023/08_haunted_wasteland) |
| 9 | [🐍](python/2015/09_all_in_a_single_night) | [🐍](python/2016/09_explosives_in_cyberspace) | [🐍](python/2017/09_stream_processing) | [💧](elixir/lib/2018/09_marble_mania) | [🐍](python/2019/09_sensor_boost) | [🐍](python/2020/09_encoding_error) | [💧](elixir/lib/2021/09_smoke_basin)[🐍](python/2021/09_smoke_basin) | [💧](elixir/lib/2022/09_rope_bridge)[🐍](python/2022/09_rope_bridge) | [💧](elixir/lib/2023/09_mirage_maintenance)[🐍](python/2023/09_mirage_maintenance) |
| 10 | [🐍](python/2015/10_elves_look_elves_say) | [🐍](python/2016/10_balance_bots) | [🐍](python/2017/10_knot_hash) | | [🐍](python/2019/10_monitoring_station) | [🐍](python/2020/10_adapter_array) | [💧](elixir/lib/2021/10_syntax_scoring)[🐍](python/2021/10_syntax_scoring) | [💧](elixir/lib/2022/10_cathode-ray_tube)[🐍](python/2022/10_cathode-ray_tube) | [🐍](python/2023/10_pipe_maze) |
| 11 | [🐍](python/2015/11_corporate_policy) | [🐍](python/2016/11_radioisotope_thermoelectric_generators) | [🐍](python/2017/11_hex_ed) | | [🐍](python/2019/11_space_police) | [🐍](python/2020/11_seating_system) | [💧](elixir/lib/2021/11_dumbo_octopus)[🐍](python/2021/11_dumbo_octopus) | [💧](elixir/lib/2022/11_monkey_in_the_middle)[🐍](python/2022/11_monkey_in_the_middle) | [🐍](python/2023/11_cosmic_expansion) |
| 12 | [🐍](python/2015/12_jsabacusframework_io) | | [🐍](python/2017/12_digital_plumber) | | [🐍](python/2019/12_the_n-body_problem) | [🐍](python/2020/12_rain_risk) | [💧](elixir/lib/2021/12_passage_pathing)[🐍](python/2021/12_passage_pathing) | [💧](elixir/lib/2022/12_hill_climbing_algorithm)[🐍](python/2022/12_hill_climbing_algorithm) | [🐍](python/2023/12_hot_springs) |
| 13 | [🐍](python/2015/13_knights_of_the_dinner_table) | | [🐍](python/2017/13_packet_scanners) | | [🐍](python/2019/13_care_package) | [🐍](python/2020/13_shuttle_search) | [💧](elixir/lib/2021/13_transparent_origami)[🐍](python/2021/13_transparent_origami) | [💧](elixir/lib/2022/13_distress_signal)[🐍](python/2022/13_distress_signal) | [🐍](python/2023/13_point_of_incidence) |
| 14 | [🍡](julia/2015/14_reindeer_olympics)[🐍](python/2015/14_reindeer_olympics) | | [🐍](python/2017/14_disk_defragmentation) | | | [🐍](python/2020/14_docking_data) | [💧](elixir/lib/2021/14_extended_polymerization)[🐍](python/2021/14_extended_polymerization) | [💧](elixir/lib/2022/14_regolith_reservoir)[🐍](python/2022/14_regolith_reservoir) | [🐍](python/2023/14_parabolic_reflector_dish) |
| 15 | [🐍](python/2015/15_science_for_hungry_people) | | [🐍](python/2017/15_dueling_generators) | | | [🐍](python/2020/15_rambunctious_recitation) | [💧](elixir/lib/2021/15_chiton)[🐍](python/2021/15_chiton) | [💧](elixir/lib/2022/15_beacon_exclusion_zone)[🐍](python/2022/15_beacon_exclusion_zone) | [🐍](python/2023/15_lens_library) |
| 16 | [🍡](julia/2015/16_aunt_sue)[🐍](python/2015/16_aunt_sue) | | [🐍](python/2017/16_permutation_promenade) | | | [🐍](python/2020/16_ticket_translation) | [🐍](python/2021/16_packet_decoder) | [💧](elixir/lib/2022/16_proboscidea_volcanium)[🐍](python/2022/16_proboscidea_volcanium) | [🐍](python/2023/16_the_floor_will_be_lava) |
| 17 | [🐍](python/2015/17_no_such_thing_as_too_much) | | [🐍](python/2017/17_spinlock) | | | [🐍](python/2020/17_conway_cubes) | [💧](elixir/lib/2021/17_trick_shot)[🐍](python/2021/17_trick_shot) | [💧](elixir/lib/2022/17_pyroclastic_flow) | [🐍](python/2023/17_clumsy_crucible) |
| 18 | [🐍](python/2015/18_like_a_gif_for_your_yard) | | [🐍](python/2017/18_duet) | | | [🐍](python/2020/18_operation_order) | [💧](elixir/lib/2021/18_snailfish)[🐍](python/2021/18_snailfish) | [💧](elixir/lib/2022/18_boiling_boulders)[🐍](python/2022/18_boiling_boulders) | [🐍](python/2023/18_lavaduct_lagoon) |
| 19 | [🐍](python/2015/19_medicine_for_rudolph) | | [🐍](python/2017/19_a_series_of_tubes) | | | | [🐍](python/2021/19_beacon_scanner) | [🐍](python/2022/19_not_enough_minerals) | [🐍](python/2023/19_aplenty) |
| 20 | [🐍](python/2015/20_infinite_elves_and_infinite_houses) | | [🐍](python/2017/20_particle_swarm) | | | | [🐍](python/2021/20_trench_map) | [🐍](python/2022/20_grove_positioning_system) | [🐍](python/2023/20_pulse_propagation) |
| 21 | [🐍](python/2015/21_rpg_simulator_20xx) | | [🐍](python/2017/21_fractal_art) | | | | [🐍](python/2021/21_dirac_dice) | [💧](elixir/lib/2022/21_monkey_math) | [🐍](python/2023/21_step_counter) |
| 22 | [🐍](python/2015/22_wizard_simulator_20xx) | | [🐍](python/2017/22_sporifica_virus) | | | | [🐍](python/2021/22_reactor_reboot) | [🐍](python/2022/22_monkey_map) | [🐍](python/2023/22_sand_slabs) |
| 23 | [🐍](python/2015/23_opening_the_turing_lock) | | [🐍](python/2017/23_coprocessor_conflagration) | | | | [🐍](python/2021/23_amphipod) | [💧](elixir/lib/2022/23_unstable_diffusion) | [🐍](python/2023/23_a_long_walk) |
| 24 | [🐍](python/2015/24_it_hangs_in_the_balance) | | [🐍](python/2017/24_electromagnetic_moat) | | | | [🐍](python/2021/24_arithmetic_logic_unit) | [💧](elixir/lib/2022/24_blizzard_basin) | [🐍](python/2023/24_never_tell_me_the_odds) |
| 25 | [🐍](python/2015/25_let_it_snow) | | [🐍](python/2017/25_the_halting_problem) | | | | [🐍](python/2021/25_sea_cucumber) | [💧](elixir/lib/2022/25_full_of_hot_air)[🐍](python/2022/25_full_of_hot_air) | [🐍](python/2023/25_snowverload) |

## Old Solutions

I'm currently reorganizing the repository to have one directory per language, because that works better with the project structure of the different languages. Until the reorganization is done, the [old solutions](old/) will be available as well.