Задача ясна: дано два слова. Нужно составить массив, где каждое слово повторяется столько раз, сколько букв в этом слове, затем отсортировать массив по алфавиту и вывести получившийся список.
Пошаговый разбор:
- Пусть слова: w1 и w2.
- Создаём список из w1, повторённого len(w1) раз, и из w2, повторённого len(w2) раз.
- От сортируем этот список по алфавиту (для кириллицы это лексикографический порядок).
- Выводим получившийся список.
Сложность: время O(n log n), где n = len(w1) + len(w2); память O(n).
Пример кода на Python (для любых двух слов w1 и w2):
def make_sorted_cells(w1, w2): arr = [w1] * len(w1) + [w2] * len(w2) arr.sort() return arr
Пример использования
w1, w2 = "мяу", "гав" print(make_sorted_cells(w1, w2))
Ожидаемый вывод для входных данных: ['гав', 'гав', 'гав', 'мяу', 'мяу', 'мяу']
Пояснение к примеру:
- len("мяу") = 3, значит "мяу" повторяется 3 раза.
- len("гав") = 3, значит "гав" повторяется 3 раза.
- После сортировки получаем сначала все "гав", затем все "мяу".