Commit Graph

35 Commits

Author SHA1 Message Date
Jan Christian Grünhage 580f6259bc implement day 17
this is horrible, I'm not proud of it. There surely is some mathematical
feature that allows a smarter solution, but after I've not been able to
find that for a while, I've decided to just brute force it. Due to that,
I've not had any motivation to finish this solution on time or to remove
the loads of redundant code I've written here..
2021-12-18 18:10:16 +01:00
Jan Christian Grünhage c49814908e implement day 18 2021-12-18 18:08:53 +01:00
Jan Christian Grünhage 71be88574c make parse_number fallible 2021-12-18 17:28:06 +01:00
Jan Christian Grünhage 81b7e84097 support parsing negative numbers 2021-12-18 12:54:51 +01:00
Jan Christian Grünhage 7c8b242698 implement day 16 part 2 2021-12-16 14:42:27 +01:00
Jan Christian Grünhage aac5c02b82 implement day 16 part 1 2021-12-16 14:08:24 +01:00
Jan Christian Grünhage 726f629e30 implement day 15 2021-12-16 00:09:04 +01:00
Jan Christian Grünhage 403be5d4da implement day 14 2021-12-16 00:08:46 +01:00
Jan Christian Grünhage d0216fda25 implement day 13 2021-12-13 07:35:55 +01:00
Jan Christian Grünhage 123c62f810 refactor parse_n to not require borrowing closures 2021-12-13 07:35:55 +01:00
Jan Christian Grünhage 577e2a2c78 simplify number parsing 2021-12-13 07:34:41 +01:00
Jan Christian Grünhage 32d1b2b370 simplify day 5 parsing 2021-12-13 07:34:36 +01:00
Jan Christian Grünhage d73485111d implement day 12 2021-12-12 13:00:18 +01:00
Jan Christian Grünhage 49cfe7a7cb fix bug in `parse_n`
I initially wrote this for 10 elements in the octopi flashing grid
puzzle, which is why I had a 10 in there, even though I did have the
const N already. Here I rewrote it slightly, because with `try_into`
already doing a length check, mine was redundant anyway.
2021-12-12 12:58:01 +01:00
Jan Christian Grünhage c473ee4fc7 implement day 11 2021-12-11 14:47:15 +01:00
Jan Christian Grünhage 743f1e46fc add helper method for parsing exactly N of something 2021-12-11 14:46:53 +01:00
Jan Christian Grünhage 5eb76e73ca implement day 10 2021-12-10 16:20:53 +01:00
Jan Christian Grünhage 0416116a65 implement day 9 2021-12-10 08:17:38 +01:00
Jan Christian Grünhage e02dbc3577 add single digit parser 2021-12-10 08:17:03 +01:00
Jan Christian Grünhage 52929d9a95 add template 2021-12-09 08:30:06 +01:00
Jan Christian Grünhage e20149a5c4 implement day 8 2021-12-09 08:11:59 +01:00
Jan Christian Grünhage dbd5139991 implement day 7 2021-12-07 10:43:19 +01:00
Jan Christian Grünhage b02d56254d implement day 6 2021-12-07 10:43:19 +01:00
Jan Christian Grünhage 10e53e648d port day 3 to bitvec
against my expectation, this performs worse
2021-12-07 10:43:19 +01:00
Jan Christian Grünhage ef64f62b28 fix clippy lints 2021-12-05 11:10:03 +01:00
Jan Christian Grünhage c57507f579 implement day 5 2021-12-05 11:09:21 +01:00
Jan Christian Grünhage 0948888663 provide number parsing with different radix 2021-12-05 00:07:12 +01:00
Jan Christian Grünhage 0d3b3db401 parse day 2 using yap as well and make more generic using traits 2021-12-04 23:49:22 +01:00
Jan Christian Grünhage dcb22a8a0c add slice window variants for day 1
because it's based on slices, it's more performant than the tuple
variant, but it's more error prone, because the bounds checking happens
at runtime instead.
2021-12-04 23:49:22 +01:00
Jan Christian Grünhage be518eca39 reimplement parsing in day 4 using yap 2021-12-04 23:49:22 +01:00
Jan Christian Grünhage 0863785c00 implement day 4 2021-12-04 11:47:39 +01:00
Jan Christian Grünhage 4729fa062d implement day 3 2021-12-04 11:47:22 +01:00
Jan Christian Grünhage 8da65689bc implement day_02 2021-12-02 07:37:07 +01:00
Jan Christian Grünhage 8149ad3379 add README and LICENSE 2021-12-01 23:15:45 +01:00
Jan Christian Grünhage f3afa52c9b initial commit 2021-12-01 23:05:08 +01:00