From: Ben Harris Date: Mon, 13 May 2024 20:03:39 +0000 (+0100) Subject: 13b done X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=282d6cdd8ff270d7105930d6129349879ae0be8d;p=aoc-2022.git 13b done --- diff --git a/13/13b.bqn b/13/13b.bqn new file mode 100644 index 0000000..9fa7daa --- /dev/null +++ b/13/13b.bqn @@ -0,0 +1,24 @@ +Split←{ + blocknums ← +`𝕨 + # Set entries in blocknums to -1 when they correspond with delimiters. + blocknums ↩ (¯1¨)⌾(𝕨⊸/) blocknums + blocknums⊔𝕩 +} + +Prep←{ + ParseVal¨(""⊸≢¨𝕩)/𝕩 +} + +ParseList←{𝕊in: + in↩1↓¯1↓in + depth←+`('['=in)-(']'=in) + ParseVal¨ ((','=in)∧(depth=0)) Split in +} + +ParseVal←{'['=⊑𝕩}◶⟨•ParseFloat,ParseList⟩ + +Main←{ + ×´(⟨⟨⟨2⟩⟩,⟨⟨6⟩⟩⟩∊˜∧𝕩∾⟨⟨⟨2⟩⟩,⟨⟨6⟩⟩⟩)/1+↕2+≠𝕩 +} + +•Show Main Prep •file.Lines ⊑•args