From 6b4cc3984ab4172d74ccc77123586f02b9beaeff Mon Sep 17 00:00:00 2001 From: Dimitri Lozeve Date: Tue, 3 Dec 2024 17:57:49 +0100 Subject: [PATCH] 2024 day 3 bqn --- 2024/day03/day03.bqn | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 2024/day03/day03.bqn diff --git a/2024/day03/day03.bqn b/2024/day03/day03.bqn new file mode 100644 index 0000000..a417279 --- /dev/null +++ b/2024/day03/day03.bqn @@ -0,0 +1,18 @@ +in←•FChars"input" + +Digits←'0'⊸≤∧≤⟜'9' + +P1←{𝕊in: + s←0‿0‿0∾"mul("⍷in # start pattern + d←Digits in # digits + c←','⊸=in # separator comma + e←')'⊸=in # end pattern + x←(2×s)+d+(3×c)+2×e # id for each part of the pattern to match + pats←⥊{∾⟨2,𝕩⥊1,3,𝕨⥊1,2⟩}⌜˜1+↕5 # patterns to look for, with numbers of up to 5 digits + idxs←/¨⍷⟜x¨pats # index for each pattern + +´×´¨∾pats{𝕨⊸{•ParseFloat¨0‿1↓¨(','⊸=)⊸(+`⊸⊔)(¯2+≠𝕨)↑(1+𝕩)↓in}¨𝕩}¨idxs +} +•Show P1 in + +Split←{(+`((≠𝕨)⥊0)∾𝕨⍷𝕩)⊔𝕩} +•Show +´∾P1¨¨1⊸↓¨"do()"⊸Split¨"don't()"Split "do()"∾in