Проблема в решении задачи "Valid string" c Code Wars (6 kyu)
Всем привет, уже который день бьюсь с задачей на code wars, никак не могу написать полноценное решение, перекрывающее все нюансы.
Суть задания:
Проверьте, может ли строка (word) быть полностью сформирована последовательным соединением слов словаря (массив dictionary). Шаблон решения:
var validWord = function (dictionary, word) {
});
Примеры:
dictionary: ["code", "wars"]
s1: "codewars" => true -> match 'code', 'wars'
s2: "codewar" => false -> match 'code', unmatched 'war'
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Наверное, самый простой способ — дать регулярным выражениям всё сделать за вас. Объединяем все слова в массиве через символ 'или' (|), заключаем весь комплекс в скобки и разрешаем любое количество повторений этого комплекса от начала до конца строки.
function(dictionary, word) {
return new RegExp(`^(?:${dictionary.join('|')})+$`).test(word);
};