Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/ABC-problem/Jsish/abc-problem.jsish
Normal file
37
Task/ABC-problem/Jsish/abc-problem.jsish
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env jsish
|
||||
/* ABC problem, in Jsish. Can word be spelled with the given letter blocks. */
|
||||
var blocks = "BO XK DQ CP NA GT RE TG QD FS JW HU VI AN OB ER FS LY PC ZM";
|
||||
|
||||
function CheckWord(blocks, word) {
|
||||
var re = /([a-z]*)/i;
|
||||
if (word !== re.exec(word)[0]) return false;
|
||||
for (var i = 0; i < word.length; i++) {
|
||||
var letter = word.charAt(i);
|
||||
var length = blocks.length;
|
||||
// trying both sides
|
||||
var reg = new RegExp("([a-z]"+letter + "|" + letter+"[a-z])", "i");
|
||||
// remove block once a letter is used
|
||||
blocks = blocks.replace(reg, "");
|
||||
if (blocks.length === length) return false;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
var words = [ "A", "BARK", "BOOK", "TREAT", "COMMON", "SQUAD", "CONFUSE" ];
|
||||
|
||||
puts("Using blocks:", blocks);
|
||||
for(var i = 0; i<words.length; i++)
|
||||
puts(CheckWord(blocks, words[i]) ? "can" : "can't", "spell", words[i]);
|
||||
|
||||
/*
|
||||
=!EXPECTSTART!=
|
||||
Using blocks: BO XK DQ CP NA GT RE TG QD FS JW HU VI AN OB ER FS LY PC ZM
|
||||
can spell A
|
||||
can spell BARK
|
||||
can't spell BOOK
|
||||
can spell TREAT
|
||||
can't spell COMMON
|
||||
can spell SQUAD
|
||||
can spell CONFUSE
|
||||
=!EXPECTEND!=
|
||||
*/
|
||||
Loading…
Add table
Add a link
Reference in a new issue