diff options
-rw-r--r-- | users/sterni/exercises/aoc/2022/08/8.bqn | 15 | ||||
-rw-r--r-- | users/sterni/exercises/aoc/lib.bqn | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/users/sterni/exercises/aoc/2022/08/8.bqn b/users/sterni/exercises/aoc/2022/08/8.bqn new file mode 100644 index 000000000000..91a16d9573c9 --- /dev/null +++ b/users/sterni/exercises/aoc/2022/08/8.bqn @@ -0,0 +1,15 @@ +i ← >'0'-˜•FLines "input" +Visible ← { + _vis ← {(⌈`∘(¯1⊸»˘⌾⍉)<⊢)⌾𝕏 𝕗} + ∨´𝕩 _vis¨ ⟨⊢,⌽,⍉,⌽⍉⟩ +} + +•Out "day08.1: "∾•Fmt +´⥊Visible i + +ViewingDistances ← { + DirView ← {≠1(»⟜(∧`(⊑𝕩)⊸>)/⊢) 1↓𝕩} + _spliceDir ← {! =´≢𝕗 ⋄ 𝕏⁼(⊢↓(⊏⟜(𝕏𝕗))∘⊣)´¨ ⋈⌜˜↕≠𝕗} + ×´ DirView¨¨ 𝕩 _spliceDir¨ ⟨⊢, ⌽˘, ⍉, ⌽˘⍉⟩ +} + +•Out "day08.2: "∾•Fmt ⌈´⥊ViewingDistances i diff --git a/users/sterni/exercises/aoc/lib.bqn b/users/sterni/exercises/aoc/lib.bqn index 025102b7760b..636eeace78d2 100644 --- a/users/sterni/exercises/aoc/lib.bqn +++ b/users/sterni/exercises/aoc/lib.bqn @@ -4,5 +4,6 @@ ReadInt ⇐ {(𝕨⊸×+⊣)´∘⌽-⟜'0'𝕩} # stolen from leah2 ReadDec ⇐ 10⊸ReadInt SplitOn ⇐ ((⊢ (-1˙)⍟⊣¨ +`∘(1⊸»<⊢))∘(≡¨)⊔⊢) +SplitAt ← ((⊣≤↕∘≠∘⊢)⊔⊢) _fix ⇐ {𝕩 𝕊∘⊢⍟≢ 𝔽 𝕩} |