diff options
author | Leah Neukirchen <leah@vuxu.org> | 2021-12-05 01:43:58 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2021-12-05 01:43:58 +0100 |
commit | e9bdceb4c8f0322b4711811ec689f1ea3472a089 (patch) | |
tree | 74bb4a0ce6d5f50f84ca92bc58e8cbcbaea6d3cd /day04.bqn | |
parent | 18eda331da0aa05d1161354313d328e8142e3624 (diff) | |
download | adventofcode2021-e9bdceb4c8f0322b4711811ec689f1ea3472a089.tar.gz adventofcode2021-e9bdceb4c8f0322b4711811ec689f1ea3472a089.tar.xz adventofcode2021-e9bdceb4c8f0322b4711811ec689f1ea3472a089.zip |
day04
Diffstat (limited to 'day04.bqn')
-rw-r--r-- | day04.bqn | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/day04.bqn b/day04.bqn new file mode 100644 index 0000000..8f1cc04 --- /dev/null +++ b/day04.bqn @@ -0,0 +1,13 @@ +str←•Import"bqn-libs/strings.bqn" + +draws‿cards ← (⊑⋈1⊸↓) str.lf‿str.lf str.Split •FChars"day04" +draws ↩ > •BQN¨ ',' str.Split draws +cards ↩ >> {{•BQN¨ (⊢ /˜ (1⌊≠)¨) ' '⊸str.Split 𝕩}¨ str.lf⊸str.Split 𝕩}¨ ¯1↓cards + +Cross ← { ¯1+(1+𝕩)×𝕩≠𝕨 } +Won ← { ∨´1=(×˝-𝕩)∾(×˝⍉-𝕩) } + +winners ← {⊐⟜1 Won¨ (<𝕩) Cross˜` draws}˘ cards + +•Out (⌊´winners)⊑draws×+´+˝0⌈((⊑⍋winners)⊏cards) Cross´ (1+⌊´winners)↑draws +•Out (⌈´winners)⊑draws×+´+˝0⌈((⊑⍒winners)⊏cards) Cross´ (1+⌈´winners)↑draws |