My personal repository for solutions to the monthly puzzles from Jane Street.
Here is a list of the puzzles I've solved or attempted.
| Puzzle / Month | Solution File | Status | Notes |
|---|---|---|---|
| Hooks / [September 2025] | hooks11-9/hooks11working.py | ✅ Solved | Solved using Constraint Programming (cpmpy, numpy, scipy). |
| Hooks / [September 2025] | hooks11-9/hooks11-improved.py | ✅ Solved | Solved using backtracking search with Dancing Links (DLX) algorithm implementation. |
| Hooks / [September 2025] | hooks11-9/hooks11-improvedv2.py | ✅ Solved | Solved using an SMT solver (z3-solver, numpy, scipy). |
| Robot Baseball / [October 2025] | robotbaseball.py | ✅ Solved | Symbolic mathematics (sympy) and numerical optimization (scipy, numpy) approach. |
| More to come | ... | ... |
Solutions are written in Python 3. Common dependencies include:
numpyscipysympy(for Robot Baseball)cpmpy(for one Hooks solution)z3-solver(for one Hooks solution)codetiming(used for timing in some scripts)
Some directories may contain specific requirements.txt files (e.g., hooks11-9/requirements.txt), though these might not list all necessary libraries for all solution variants (like cpmpy or z3-solver). Install missing libraries using pip as needed (e.g., pip install cpmpy z3-solver).
Navigate to the directory containing the solution file and run it using Python:
# Example for a Hooks solution
python hooks11-9/hooks11working.py
# Example for Robot Baseball
python robotbaseball.pyBelow is an image showing the output from one of the puzzle solvers (hooks11working.py).
