15 lines
524 B
BQN
15 lines
524 B
BQN
# a‿b Sub x: the b-length subarray starting at a
|
||
Sub ⇐ {a‿b𝕊𝕩:b↑a↓𝕩}
|
||
|
||
# e Split xs: split xs on occurrences of e (default 0)
|
||
Split ⇐ {(⊏ ∾ 1⊸↓¨∘(1⊸↓)) Sub⟜𝕩¨ (» ⋈¨ ⊢-») /𝕨=𝕩∾(𝕨⊣⟜0↩)}
|
||
|
||
Day1 ⇐ (⊑ ⋈ (+´3⊸↑))∘(∨+´¨)∘Split∘(•BQN⎊0¨)∘•FLines
|
||
|
||
Day2 ⇐ {
|
||
B ← ⊣ (A ← {1+𝕩+3×3|1+𝕩-𝕨}) {3|𝕨+𝕩-1}
|
||
+´˘⍉ (A≍B)´∘{a‿s‿b:⟨a-'A',b-'X'⟩}˘ >•FLines 𝕩
|
||
}
|
||
•Show Day2 ⊑•args
|
||
|
||
# day 3 maybe later
|