6c0777aada
I've been doing a few take-home assessment recently, all of which I've attempted to solve using Haskell. I'm having a good time, and I'm noticing strong and weak points with my Haskell programming. I always attempt to apply any feedback a reviewer gives me, and I'm storing my first drafts, second attempts, and feedback here for now. This recently attempt was for a role at Jane Street. |
||
---|---|---|
.. | ||
.envrc | ||
colliding-moves.txt | ||
game.txt | ||
input-a.txt | ||
Main.hs | ||
README.md | ||
shell.nix | ||
Spec.hs | ||
too-few-moves.txt | ||
too-many-moves.txt |
Dotted Squares
This is my second attempt at solving this problem. I had an hour to solve it the first time, and I unfortunately came up short although I made good progress.
The problem asks to read input from a text file that looks like this:
1 -- board width
1 -- board height
4 -- number of lines of "moves" (below)
0 0 R -- create a unit vector (0,0) facing right
0 0 U -- create a unit vector (0,0) facing up
0 1 L -- create a unit vector (0,1) facing left
1 1 D -- create a unit vector (1,1) facing down
After parsing and validating the input, score the outcome a game where players one and two alternatively take turns drawing lines on a board. Anytime one of the players draws a line that creates a square from existing lines, they get a point.