Welcome to my solutions for Advent of Code challenges!
I'm using Advent of Code problems as a way to learn and get more familiar with Julia.
I prioritize quick implementation: this repository contains a lot of QUICK & DIRTY solutions. Feel free to suggest improvements if you spot any better approaches!
You need Julia 1.11 or above.
$ julia --project cli/download.jl 2024 1
[+] download inputt data to '.../data/2024/day1.txt'
[+] create a solution template to '.../src/2024/day1.jl'
$ vim 2024/src/day1.jl # solve problem
...
$ juila --project cli/run.jl 2024 1 part1
1834060
$ julia --project test/runtests.jl
Test Summary: | Pass Total Time
parser | 5 5 0.1s
Test Summary: | Pass Total Time
2024 | 2 2 0.1s
$ julia --project bench/benchmark.jl 2024 1
[=] 2024 Day 1 (part1): 234.600 μs, 648.77 KiB
[=] 2024 Day 1 (part2): 280.600 μs, 762.70 KiB
- Solved: ⭐
- Solved, but not a good solution (>1s): 💩
- Unsolved: ❌
Day | Code | Type | Part 1 | Part 2 |
---|---|---|---|---|
1 | day1.jl | adhoc | ⭐ | ⭐ |
2 | day2.jl | adhoc | ⭐ | ⭐ |
3 | day3.jl | parsing | ⭐ | ⭐ |
4 | day4.jl | string | ⭐ | ⭐ |
5 | day5.jl | greedy | ⭐ | ⭐ |
6 | day6.jl | greedy | ⭐ | ⭐ |
7 | day7.jl | DP | ⭐ | ⭐ |
8 | day8.jl | math | ⭐ | ⭐ |
9 | day9.jl | adhoc | ⭐ | ⭐ |
10 | day10.jl | DP, search | ⭐ | ⭐ |
11 | day11.jl | DP | ⭐ | ⭐ |
12 | ❌ | ? | ❌ | ❌ |
13 | ❌ | ? | ❌ | ❌ |
14 | ❌ | ? | ❌ | ❌ |
15 | day15.jl | adhoc | ⭐ | ⭐ |
- goggle/AdventOfCode2023.jl: Well-organized project with proper modules, tests and benchmarks. If you are familiar with C++, Java or Rust, this is a good starting point.
- GunnarFarneback/AdventOfCode.jl:
If you are a Python developer,
aoc.jl
is a good starting point.