From 1649799cb7b9c10d3f98f7fdbb9423c6dd057413 Mon Sep 17 00:00:00 2001 From: sterni Date: Wed, 7 Dec 2022 20:13:45 +0100 Subject: feat(sterni/aoc/2022): day08 BQN solution 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 Reviewed-by: sterni Tested-by: BuildkiteCI --- users/sterni/exercises/aoc/2022/08/8.bqn | 15 +++++++++++++++ users/sterni/exercises/aoc/lib.bqn | 1 + 2 files changed, 16 insertions(+) create mode 100644 users/sterni/exercises/aoc/2022/08/8.bqn (limited to 'users/sterni') 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 0000000000..91a16d9573 --- /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 025102b776..636eeace78 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 ⇐ {𝕩 𝕊∘⊢⍟≢ 𝔽 𝕩} -- cgit 1.4.1