Michael Raitza 2c47aeef73 | ||
---|---|---|
aoc2015 | ||
aoc2020/day1 | ||
datasets | ||
projecteuler/euler258 | ||
rosalind | ||
tools/problem-solving | ||
.editorconfig | ||
.factor-rc | ||
.gitpod.Dockerfile | ||
.gitpod.yml | ||
LICENSE | ||
README.md | ||
playground.factor |
README.md
factor-problem-solving
Solutions to various problems written in Factor
How to add a solution
- To work on advent-of-code problems, go to https://adventofcode.com and create an account. You will need to do this to receive the puzzle input individually for you. Later, you will be able to upload your answers and get it checked for correctness.
- Add an
AUTHOR
environment variable and set it as your name/username. (On Gitpod, you can do this in account settings.):
export AUTHOR="My Name"
- Run
factor playground.factor
in terminal at the git repo root, then enter the following replacingN
with the number of the day:
"aoc2020.dayN" aoc-init
- See
aoc2020.day1
for an example. If a solution is worth an explanation, it should go to the description in the docs indayN-docs.factor
. - By convention, the
MAIN:
function solves the exact task given, while the core function solves the core problem (no input parsing, no output formatting). Sometimes it solves a more generalized problem; sometimes it solves only a specific subset of the problem (which happens in AoC problems, when an input exploit is needed). dayN-tests.factor
should contain the test cases for the puzzle. It may be a good idea to start with the model problem and solution for that day. Later, you can incorporate your personal dataset, which is kept indatasets/aoc2020/dayN.txt
.