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