How to resolve the algorithm ABC problem step by step in the BQN programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm ABC problem step by step in the BQN programming language
Table of Contents
Problem Statement
You are given a collection of ABC blocks (maybe like the ones you had when you were a kid).
There are twenty blocks with two letters on each block.
A complete alphabet is guaranteed amongst all sides of the blocks.
The sample collection of blocks:
Write a function that takes a string (word) and determines whether the word can be spelled with the given collection of blocks.
The rules are simple:
Let's start with the solution:
Step by Step solution about How to resolve the algorithm ABC problem step by step in the BQN programming language
Source code in the bqn programming language
ABC ← {
Matches ← ⊑⊸(⊑∘∊¨)˜ /⊣ # blocks matching current letter
Others ← <˘∘⍉∘(»⊸≥∨`)∘(≡⌜)/¨<∘⊣ # blocks without current matches
𝕨(×∘≠∘⊢ ◶ ⟨1˙, # if the word is empty, it can be made
Matches(×∘≠∘⊣ ◶ ⟨0˙, # if no matching blocks, it cannot
∨´(𝕨 Others⊣) 𝕊¨ 1<∘↓⊢ # otherwise, remove block and try remaining letters
⟩)⊢
⟩) (⊢-32×1="a{"⍋⊢)𝕩
}
blocks←⟨"BO","XK","DQ","CP","NA","GT","RE","TG","QD","FS",
"JW","HU","VI","AN","OB","ER","FS","LY","PC","ZM"⟩
words←⟨"A","bark","BOOK","TrEaT","Common","Squad","Confuse"⟩
> {(<𝕩) ∾ blocks ABC 𝕩}¨ words
You may also check:How to resolve the algorithm Jump anywhere step by step in the 6502 Assembly programming language
You may also check:How to resolve the algorithm Playing cards step by step in the Phix programming language
You may also check:How to resolve the algorithm Ray-casting algorithm step by step in the Liberty BASIC programming language
You may also check:How to resolve the algorithm N'th step by step in the F# programming language
You may also check:How to resolve the algorithm Population count step by step in the Yabasic programming language