Você recebe uma coleção de blocos ABC (por exemplo, blocos alfabéticos de infância). Existem 20 blocos com duas letras em cada bloco. Um alfabeto completo é garantido entre todos os lados dos blocos. A coleção de amostras de blocos:
(BO)
(XK)
(DQ)
(CP)
(N / D)
(GT)
(RÉ)
(TG)
(QD)
(FS)
(JW)
(HU)
(VI)
(A)
(OB)
(ER)
(FS)
(LY)
(PC)
(ZM)
Algumas regras para ter em mente:
Quando uma letra em um bloco é usada, esse bloco não pode ser usado novamente. A função deve ser insensível a maiúsculas e minúsculas.Implemente uma função que use uma string (palavra) e determine se a palavra pode ser escrita com a coleção de blocos especificada.
canMakeWord é uma função.
testString: 'assert(typeof canMakeWord === "function", "canMakeWord is a function.");'
- text: canMakeWord deve retornar um booleano.
testString: 'assert(typeof canMakeWord("hi") === "boolean", "canMakeWord should return a boolean.");'
- text: canMakeWord("bark") deve retornar true.
testString: 'assert(canMakeWord(words[0]), "canMakeWord("bark") should return true.");'
- text: canMakeWord("BooK") deve retornar false.
testString: 'assert(!canMakeWord(words[1]), "canMakeWord("BooK") should return false.");'
- text: canMakeWord("TReAT") deve retornar true.
testString: 'assert(canMakeWord(words[2]), "canMakeWord("TReAT") should return true.");'
- text: canMakeWord("COMMON") deve retornar false.
testString: 'assert(!canMakeWord(words[3]), "canMakeWord("COMMON") should return false.");'
- text: canMakeWord("squAD") deve retornar true.
testString: 'assert(canMakeWord(words[4]), "canMakeWord("squAD") should return true.");'
- text: canMakeWord("conFUSE") deve retornar true.
testString: 'assert(canMakeWord(words[5]), "canMakeWord("conFUSE") should return true.");'
```