{"id":19245797,"url":"https://github.com/brucala/adventofcode2020.jl","last_synced_at":"2026-06-18T13:31:57.657Z","repository":{"id":177237227,"uuid":"317869723","full_name":"brucala/AdventOfCode2020.jl","owner":"brucala","description":"Solutions to Advent of Code 2020 in Julia","archived":false,"fork":false,"pushed_at":"2021-01-02T15:29:27.000Z","size":11132,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T15:48:22.923Z","etag":null,"topics":["adventofcode","julia"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brucala.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-02T13:24:20.000Z","updated_at":"2023-07-12T07:43:13.000Z","dependencies_parsed_at":"2023-07-17T11:34:06.775Z","dependency_job_id":null,"html_url":"https://github.com/brucala/AdventOfCode2020.jl","commit_stats":null,"previous_names":["brucala/adventofcode2020.jl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brucala/AdventOfCode2020.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucala%2FAdventOfCode2020.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucala%2FAdventOfCode2020.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucala%2FAdventOfCode2020.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucala%2FAdventOfCode2020.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brucala","download_url":"https://codeload.github.com/brucala/AdventOfCode2020.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brucala%2FAdventOfCode2020.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34493356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adventofcode","julia"],"created_at":"2024-11-09T17:29:25.328Z","updated_at":"2026-06-18T13:31:57.242Z","avatar_url":"https://github.com/brucala.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advent of Code 2020\n\nSolutions to [Advent of Code 2020 edition](https://adventofcode.com/2020) in Julia.\n\n\u003e Disclaimer: these solutions are created just as a way to practice and become more familiar\nwith the awesome Julia language. They are not optimized for efficiency or for code beauty.\n\n## Benchmarks\n\nTo run the benchmarks:\n\n    $ julia cli/benchmark.jl\n\n```\n┌─────┬──────┬────────────┬────────────┬─────────┐\n│ day │ part │       time │     memory │  allocs │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   1 │    0 │   9.084 μs │   3.86 KiB │      27 │\n│   1 │    1 │  28.583 μs │  68.78 KiB │     627 │\n│   1 │    2 │ 157.325 μs │   1.04 MiB │    1191 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   2 │    0 │  14.829 μs │  42.27 KiB │      27 │\n│   2 │    1 │   1.270 ms │ 855.30 KiB │   12028 │\n│   2 │    2 │   1.023 ms │ 855.30 KiB │   12028 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   3 │    0 │  11.669 μs │  22.27 KiB │      27 │\n│   3 │    1 │  55.826 μs │  63.97 KiB │     980 │\n│   3 │    2 │ 116.883 μs │  64.25 KiB │     982 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   4 │    0 │  14.328 μs │  38.52 KiB │      27 │\n│   4 │    1 │   1.405 ms │   1.15 MiB │   13565 │\n│   4 │    2 │   2.940 ms │   1.83 MiB │   24773 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   5 │    0 │  11.626 μs │  20.89 KiB │      27 │\n│   5 │    1 │ 801.750 μs │ 700.89 KiB │   12276 │\n│   5 │    2 │ 851.077 μs │ 770.46 KiB │   12305 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   6 │    0 │  14.161 μs │  37.14 KiB │      27 │\n│   6 │    1 │ 573.742 μs │ 726.98 KiB │    6023 │\n│   6 │    2 │   1.811 ms │   1.61 MiB │   18785 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   7 │    0 │  20.588 μs │  88.77 KiB │      27 │\n│   7 │    1 │   4.219 ms │   3.43 MiB │   46796 │\n│   7 │    2 │   3.015 ms │   2.03 MiB │   29537 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   8 │    0 │  10.645 μs │  12.14 KiB │      27 │\n│   8 │    1 │ 482.889 μs │ 395.48 KiB │    6575 │\n│   8 │    2 │   2.362 ms │   3.53 MiB │   28938 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│   9 │    0 │  11.634 μs │  19.27 KiB │      27 │\n│   9 │    1 │ 321.976 μs │ 537.77 KiB │    4227 │\n│   9 │    2 │ 323.349 μs │ 538.08 KiB │    4229 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  10 │    0 │   8.170 μs │   2.63 KiB │      27 │\n│  10 │    1 │  13.015 μs │  21.81 KiB │     308 │\n│  10 │    2 │  41.129 μs │  42.00 KiB │     696 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  11 │    0 │  11.790 μs │  18.78 KiB │      27 │\n│  11 │    1 │  24.672 ms │ 144.19 KiB │     474 │\n│  11 │    2 │  37.411 ms │ 144.19 KiB │     474 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  12 │    0 │   9.485 μs │   7.41 KiB │      27 │\n│  12 │    1 │ 206.969 μs │ 220.16 KiB │    3684 │\n│  12 │    2 │ 202.930 μs │ 216.97 KiB │    3479 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  13 │    0 │   8.188 μs │   2.25 KiB │      27 │\n│  13 │    1 │   8.670 μs │  15.67 KiB │     162 │\n│  13 │    2 │  30.659 μs │  15.36 KiB │     160 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  14 │    0 │  12.961 μs │  27.78 KiB │      27 │\n│  14 │    1 │ 416.098 μs │ 476.92 KiB │    6687 │\n│  14 │    2 │  38.982 ms │  32.09 MiB │  812635 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  15 │    0 │   8.108 μs │   2.00 KiB │      27 │\n│  15 │    1 │  13.516 μs │   8.72 KiB │       7 │\n│  15 │    2 │ 788.701 ms │ 114.44 MiB │       8 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  16 │    0 │  14.282 μs │  40.53 KiB │      27 │\n│  16 │    1 │ 822.866 μs │ 567.34 KiB │    2921 │\n│  16 │    2 │   1.326 ms │   1.27 MiB │    5427 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  17 │    0 │   8.157 μs │   2.09 KiB │      27 │\n│  17 │    1 │   1.770 ms │ 310.77 KiB │    4500 │\n│  17 │    2 │  54.911 ms │   2.70 MiB │   32084 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  18 │    0 │  14.064 μs │  41.28 KiB │      27 │\n│  18 │    1 │   1.993 ms │ 641.61 KiB │   13334 │\n│  18 │    2 │   2.043 ms │ 694.20 KiB │   14424 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  19 │    0 │ 204.997 ms │  15.95 MiB │  291833 │\n│  19 │    1 │ 363.072 ms │ 989.56 KiB │     892 │\n│  19 │    2 │ 611.156 ms │   1.03 MiB │    1441 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  20 │    0 │ 658.605 μs │ 592.17 KiB │    6228 │\n│  20 │    1 │  34.390 ms │  54.74 MiB │  681064 │\n│  20 │    2 │  43.886 ms │  57.88 MiB │  726401 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  21 │    0 │  13.305 μs │  32.91 KiB │      27 │\n│  21 │    1 │   1.473 ms │ 641.55 KiB │    6818 │\n│  21 │    2 │   1.470 ms │ 643.87 KiB │    6855 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  22 │    0 │  18.850 μs │   9.63 KiB │     102 │\n│  22 │    1 │  11.486 μs │   6.06 KiB │      13 │\n│  22 │    2 │ 105.201 ms │ 206.48 MiB │ 1174906 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  23 │    0 │   8.480 μs │   2.25 KiB │      29 │\n│  23 │    1 │   1.673 μs │   1.13 KiB │      25 │\n│  23 │    2 │ 340.134 ms │   5.63 MiB │      18 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  24 │    0 │   1.118 ms │ 566.30 KiB │   10698 │\n│  24 │    1 │ 113.698 μs │  57.26 KiB │      31 │\n│  24 │    2 │ 169.482 ms │  13.71 MiB │    1769 │\n├─────┼──────┼────────────┼────────────┼─────────┤\n│  25 │    0 │   8.893 μs │   2.69 KiB │      38 │\n│  25 │    1 │  42.924 ms │    0 bytes │       0 │\n└─────┴──────┴────────────┴────────────┴─────────┘\n\n```\n\n\u003e **Part 0** refers to the **parsing of the input data**. Only for days 19-20, 22-25 the\nparsing is decoupled from the solutions. For the other days this benchmark only accounts\nfor reading the input file, and the actual parsing time is included in each solution.\n\n## Other CLI tools\n\nTo generate (src and test) templates for a given day:\n```\n$ julia cli/generate_day.jl -h\nusage: generate_day.jl [-h] nday\n\npositional arguments:\n  nday        day number for files to be generated\n\noptional arguments:\n  -h, --help  show this help message and exit\n```\n\nTo download the input data of a given day:\n```\n$ julia cli/get_input.jl -h\nusage: get_input.jl [-d DAY] [-h]\n\noptional arguments:\n  -d, --day DAY  day number for the input to be downloaded. If not\n                 given take today's input (type: Int64)\n  -h, --help     show this help message and exit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucala%2Fadventofcode2020.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrucala%2Fadventofcode2020.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrucala%2Fadventofcode2020.jl/lists"}