Skip to content

dmsnell/aoc2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code 2023 Solutions

Running the solutions

To run a particular solution call aoc:solve/2 with the day and the part specified. The day is an atom like day1 and the part is either p1 for part one or p2 for part two.

The output from each solution identifies which day and part ran, the output for that problem, and the time it took to run.

To run all the solutions call aoc:solve_all().

Start by cloning the repo and running rebar3 shell for a REPL.

aoc:solve_all() = [
 {day1,p1,54990,{0.672,ms}},
 {day1,p2,54473,{0.872,ms}},
 {day2,p1,2810,{0.016,ms}},
 {day2,p2,69110,{0.032,ms}},
 {day3,p1,528819,{0.816,ms}},
 {day3,p2,80403602,{0.851,ms}},
 {day4,p1,21485,{3.059,ms}},
 {day4,p2,11024379,{3.0,ms}}}
].

aoc:solve(day1, p1) = {day1,p1,54990,{1.093,ms}}.

{Day, Part, Answer, Runtime} = aoc:solve(day1, p1),
Day = day1,
Part = p1,
Answer = 54990,
Runtime = {1.093,ms}.

To develop with an open REPL call r3:compile() from within the REPL to reload code with updates from your editor.

% Reload code and re-run all solutions
r3:compile(), aoc:solve_all().

Fetching the input for each day

It's possible to automatically fetch the input file for each day. To do this you will need to store a cookie for your logged-in session. Grab the cookie from an authenticated session in your browser and store the contents of the cookie's value in priv/.aoc-session.cookie.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages