Проблема в решении задачи "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);
};
→ Ссылка