Занимательные задачи JavaScript. Часть 29
Дан массив слов:
let arr = ['cat', 'dog', 'tac', 'god', 'act'];
Найдите в нем все пары слов, которые являются анаграммами друг друга, и выведите их в виде массивов.
Дана строка:
let txt = 'hello world';
Замените в ней все гласные буквы
на их порядковый номер в строке
(нумерация с 0):
'h2ll4 w7rld'
Дан массив чисел:
let arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
Найдите все числа, которые встречаются в массиве более двух раз, и выведите их в порядке убывания частоты.
Дана строка:
let txt = 'aabbbccccdd';
Выполните над ней RLE-сжатие, то есть замените каждую группу одинаковых символов на сам символ и количество его повторов:
'a2b3c4d2'
Даны два слова:
let word1 = 'abcdef';
let word2 = 'aXbYcZ';
Проверьте, можно ли получить второе слово из первого, вставив между его буквами произвольные символы (порядок букв первого слова должен сохраниться). В данном примере ответ - да.
Дана строка:
let txt = 'a1b2c3';
Найдите все числа в этой строке и замените их на их квадраты:
'a1b4c9'
Дан массив чисел:
let arr = [1, 2, 3, 4, 5];
Получите все возможные
перестановки этого массива
без использования модуля
itertools.
Дан текст:
let text = 'The cat sat on the mat';
Найдите все слова, которые
начинаются и заканчиваются
на одну и ту же букву.
В данном примере это 'The' и 'on'
не подходят, а 'mat' - нет.
Учтите регистр букв.
Дан массив чисел:
let arr = [14, 27, 38, 5, 62, 49, 33, 21, 8, 17, 46, 29];
Разделите его на две части с одинаковой суммой элементов. Если это невозможно - выведите сообщение об этом.
Дан текст:
let text = 'apple banana apple cherry banana apple date cherry';
Замените каждое слово на число, равное количеству его вхождений в текст:
'3 2 3 1 2 3 1 1'