about summary refs log tree commit diff
path: root/users/sterni/exercises/aoc
AgeCommit message (Collapse)AuthorFilesLines
2022-12-20 r/5432 feat(sterni/aoc/2022): day15 BQN solutionsterni1-0/+18
Part 2 is pretty slow, since we just reuse our fast solution for part 1. This means we have to check 4000000 which could be reduced a bit by using a loop. It is tolerably slow, so whatever. (Overall this problem would have been more fun if the space to check was smaller.) Change-Id: I1203330fe0364894cfe0318376e583868937b5bd Reviewed-on: https://cl.tvl.fyi/c/depot/+/7603 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-20 r/5431 feat(sterni/aoc/2022): day20 BQN solutionsterni1-0/+13
This solution feels very un-BQN-esque, but I could not get it to work by doing arithmetic operations on an array of indices for any input but the example one. It's still decently fact considering that we create so many intermediate arrays at each step. Change-Id: I883409b4d99d4954312df9b9a9ffc568c39f7726 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7602 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-20 r/5430 feat(sterni/aoc/2022): day18 BQN solutionsterni3-1/+18
Change-Id: I1504cd5e443ff0b28c2d97ae357e5d92c88bba4d Reviewed-on: https://cl.tvl.fyi/c/depot/+/7601 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-20 r/5429 feat(sterni/aoc/2022): day12 BQN solutionsterni1-0/+16
Change-Id: Ib80fe824341964f46a45599c18fa00635ba02aaf Reviewed-on: https://cl.tvl.fyi/c/depot/+/7600 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-13 r/5416 feat(sterni/aoc/2022): day13 BQN solutionsterni3-2/+18
Change-Id: I401ba09198d447628fa76d811fd4fe780baa8240 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7586 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-12 r/5415 refactor(sterni/aoc/2022/10): tidy up image renderingsterni1-1/+1
Change-Id: I374373e86e78277cf2caf8509c477a508a2ceba1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7584 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-12-12 r/5414 feat(sterni/aoc/2022): day11 BQN solutionsterni2-0/+48
Change-Id: If9c510e3530ecc1acafa1d708eacf64eb1132db7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7583 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-10 r/5404 refactor(sterni/aoc/2022/05): rank 2 array into list of lists w/ <˘sterni1-1/+1
Change-Id: Ic536908bad5bb4af860ec53bd585ed74af3117af Reviewed-on: https://cl.tvl.fyi/c/depot/+/7557 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org>
2022-12-10 r/5403 feat(sterni/aoc/2022): day10 BQN solutionsterni2-1/+30
I cheated a bit to skip implementing multi cycle instructions. The VM is pretty much a normal tail recursive function, but working with scalars in BQN is on brand-ish. Array programming helps again when drawing the picture on screen. Change-Id: I2562c862e228f633c5fad09e503529c6e0785112 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7556 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-10 r/5402 feat(sterni/aoc/2022): day09 BQN solutionsterni1-0/+17
Change-Id: Idad006eaacbd89827feb5bbd9d6e04605743fca2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7555 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-10 r/5400 feat(sterni/aoc/2022): day08 BQN solutionsterni2-0/+16
Added utility used to be related, but got dropped in a refactor. Change-Id: I1f88973d6b42f1302b49cd61c53e4cd1e15b8c6f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7553 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-07 r/5398 feat(sterni/aoc/2022): day07 BQN solutionsterni1-0/+24
Did not have the motivation to go back and improve things, so this is my initial attempt. Change-Id: I3e129523d8f6c03bfbe50351f78d56ec7254a2dc Reviewed-on: https://cl.tvl.fyi/c/depot/+/7539 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-06 r/5395 refactor(sterni/aoc/2022/05): improve parsing a bitsterni1-2/+1
By taking advantage of filling (ironically) we can avoid creating a spec in an ugly way. Additionally we transpose before parsing which doesn't really make all that much of a difference, though. Change-Id: Ida593138654f8367d666447f2b62013e8ddff01e Reviewed-on: https://cl.tvl.fyi/c/depot/+/7535 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-06 r/5394 feat(sterni/aoc/2022): day06 array solutionssterni2-0/+5
Today's problem works very nicely thanks to window although the indexing sadly is off by a constant amount from what we immediately get. I have a feeling someone is going to demolish my 31 char k solution. Change-Id: Ia90786ce2fe321235286a85c466decf7feb669ed Reviewed-on: https://cl.tvl.fyi/c/depot/+/7534 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-05 r/5393 refactor(sterni/aoc/2022/05): improve _ApplyCmdsterni1-4/+3
* take advantage of block header for destructuring * instead of ModestTake we can split the stack we are picking from into what we need to move and what to keep, saving us from having to repeat ourselves. * remove some unnecessary parens Change-Id: I1b81a93a27d14dcbb6bdd109e862a356f611aca9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7530 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-05 r/5392 feat(sterni/aoc/2022): day05 BQN solutionsterni1-0/+20
First input that is genuinely fun to parse in BQN. There surely is a nice trick for _ApplyCmd, but this works and I'm unable to think today. Change-Id: Iefccc81f1c1db03f45e31aaf7a1703ac0f91306f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7529 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-05 r/5391 feat(sterni/aoc/2022): day04 BQN solutionsterni1-0/+11
Very tired today, but seems like a decently tidy solution. Change-Id: Id3055159ae99e9b91fcc4b9b41ec7fe5e9a1bc6a Reviewed-on: https://cl.tvl.fyi/c/depot/+/7528 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-05 r/5388 fix(sterni/aoc/2022/01): fix output formatsterni1-2/+2
Change-Id: I7e2e82faa70ded683765627ba35e6f237976363f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7526 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-12-05 r/5387 feat(sterni/aoc/2022): day03 k solutionsterni1-0/+1
Change-Id: If31e7047fc0c286e3e40b23a13fb9c51297809af Reviewed-on: https://cl.tvl.fyi/c/depot/+/7525 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-03 r/5381 feat(sterni/aoc/2022): day03 solutionsterni1-0/+8
Change-Id: I0f23d4d6405779fe7e804eb8b9f407dc4de88760 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7502 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-03 r/5378 feat(sterni/aoc/2022): day02 k solutionsterni1-0/+1
Uses the same idea as the BQN solution, but is very concise. Change-Id: I876208e5e86f28240f4a3384d16321fd92d077eb Reviewed-on: https://cl.tvl.fyi/c/depot/+/7499 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-12-02 r/5377 feat(sterni/aoc/2022): day02 solutionsterni1-0/+7
It seems to me that there must be some way to improve this further, but I'm kind of out of time. Change-Id: Icf3510b6c126345551125543aec70155b6eeff4e Reviewed-on: https://cl.tvl.fyi/c/depot/+/7498 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2022-12-02 r/5365 refactor(sterni/aoc/2022): use scan in BQN/ksterni2-5/+4
We can actually use one and the same scan on the sorted list to solve part 1 and 2 of the assignment. Change-Id: I657a81bad6151ef4fe13239db88d2dbd2f9c29d8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7491 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-01 r/5364 feat(sterni/aoc/2022): day01 solutionssterni4-3/+40
Bonus solution in k as I got sniped by leah2. Change-Id: I806f5b2ac1388159a427bb239bfb1bb7aeb329d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7490 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-12-01 r/5363 feat(sterni/exercises/aoc/2022): add basic scaffoldingsterni5-1/+81
I currently plan doing BQN and Nix (where it is not too annoying, respectively). All solutions can either be executed together in a derivation using CBQN and Tvix (!!!) or executed individually (I'll do one file per solution for BQN and an attribute set of solutions for Nix in a single file). Change-Id: I7cff2ea60d06ae0f586d07779f14f5edd8f87aae Reviewed-on: https://cl.tvl.fyi/c/depot/+/7489 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2022-12-01 r/5362 chore(sterni/exercises/aoc): split out utils into a library of sortssterni2-8/+9
Change-Id: Id2bb764fcdcd4b345eed6a98e0d67fcb18fc1353 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7488 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-31 r/3723 style: format entire depot with nixpkgs-fmtVincent Ambo1-1/+1
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
2021-12-28 r/3494 feat(sterni/aoc/2021): day 10 solutionsterni1-0/+45
Change-Id: I5feb7187bd9aee45478aa5759e94df49e92565bf Reviewed-on: https://cl.tvl.fyi/c/depot/+/4734 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-28 r/3493 feat(sterni/aoc/2021): day 11 solutionsterni1-0/+46
Change-Id: I59087cd855953d0ebdcaaea2374788e9e015e1ea Reviewed-on: https://cl.tvl.fyi/c/depot/+/4733 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-26 r/3445 feat(sterni/aoc/2021): day 4 solutionsterni1-0/+20
Change-Id: Ib8b4206b40acad32e10ebd9103e54074ba3452fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/4681 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2021-12-26 r/3444 feat(sterni/aoc/2021): don't split on consecutive occurrences of 𝕨sterni1-1/+1
Change-Id: I2ab17e0238df297f580c45bc28914c6dfd0ce848 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4680 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2021-12-25 r/3409 feat(sterni/aoc/25): day 25 part 1 solutionsterni1-0/+20
Change-Id: I8ffefd2b85e595bdae2cfb2bf7b34ea63b82c457 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4627 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2021-12-25 r/3390 feat(sterni/aoc/2021): day 20 solutionsterni1-0/+29
Change-Id: Id864d6e6f0722c2da5d3487bd38da80e6bff2161 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4566 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-25 r/3389 feat(sterni/aoc/2021): day 6 solutionsterni1-6/+21
Change-Id: Icd21b0f0c92b596fbb369d6f08715a6554259572 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4558 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-16 r/3265 feat(sterni/aoc/2021): day 15 solutionsterni1-0/+35
Change-Id: Idca2ae2829a7ee9e856aa7fcdc716c3055051062 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4363 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2021-12-16 r/3264 chore(sterni/aoc/2021): add shell for running solutions.bqnsterni1-0/+10
Change-Id: I2e192dec9eb863a1b2386d40d26eeeeb57e1ed28 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4350 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-15 r/3263 feat(sterni/aoc/2021): day 14 solutionsterni1-0/+33
Change-Id: I8b6c0c5d1ced89eadaeea3fb619d37e77a439965 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4349 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-15 r/3262 refactor(sterni/aoc/2021): fold over 2d array instead of nested liststerni1-1/+1
Seems to save some allocations and thus recover some performance compared to the two separate folds we had before. Change-Id: Ie3d283103e6a9b8aa702db633d9c988fda1b2903 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4348 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-14 r/3238 refactor(sterni/aoc/2021): use a fold instead of last scan elementsterni1-1/+1
We can use the reverse swap trick to get a forward fold. Change-Id: I88185e2ff0b41ec1454f414db2d24b1c8173ac2d
2021-12-14 r/3230 refactor(sterni/aoc/2021): determine width/height in the same foldsterni1-2/+1
Change-Id: I39410171402cedc3ee8d9ac972557656ed12de53
2021-12-13 r/3229 feat(sterni/aoc/2021): day 13 solutionsterni1-0/+60
Change-Id: I9cfa8a28854cbee7e8e1b457faf9c572353e803f
2021-12-13 r/3228 refactor(sterni/aoc/2021): name input data more consistentlysterni1-17/+17
Change-Id: Ibcea43d2e51f14d8b1b021050310f88d44d970d3
2021-12-13 r/3225 feat(sterni/aoc/2021): day 9 solutionsterni1-0/+38
Change-Id: I90e7a47d5418abeff1ae7cc5757b6a8b3b0d1086
2021-12-13 r/3224 feat(sterni/aoc/2021): day 7 solutionsterni1-0/+29
Change-Id: I8c8b535defb42f15eafc816ebe953e51b11ea702
2021-12-13 r/3223 feat(sterni/aoc/2021): day 3 solutionsterni1-0/+51
Change-Id: Id14281f7b18ddaf6875e5dd8398249a10a9474af
2021-12-13 r/3222 refactor(sterni/aoc/2021): allow variable bases ≤ 10 for ReadIntsterni1-3/+4
Change-Id: Ie035134a4b3d478ce836aa00016122e0f49a5a28
2021-12-13 r/3221 feat(sterni/aoc/2021): day 2 "solution"sterni1-3/+41
Change-Id: Ifbd50274f0b09305991a49e7453ac1f13089e57e
2021-12-01 r/3128 feat(sterni/aoc/2021): day 1 solutionsterni2-0/+32
Change-Id: I0781b2aa3624df9a3158296edcbbbf2ee845102b