Шифр «квадратный код»

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Строки
Матрицы и сетки

Зашифруйте текст методом квадратного кода. Сначала нормализуйте текст: оставьте только латинские буквы и цифры и переведите буквы в нижний регистр. Пусть получилось n символов. Запишите их по строкам в прямоугольник из r строк и c столбцов, где c наименьшее число, для которого r·c ≥ n, c ≥ r и c − r ≤ 1 (последняя строка может быть неполной). Затем прочитайте прямоугольник по столбцам слева направо: каждый столбец это кусок длиной r. Куски, в которых не хватает символов, дополняются пробелом справа до длины r. Верните все c кусков, соединённых одним пробелом. Если после нормализации ничего не осталось, верните пустую строку.

Пример: "Chill out." → "clu hlt io " (8 символов, 3 столбца, 3 строки; последний кусок дополнен пробелом).


Источник: Exercism, crypto-square · © Exercism · MIT · условие переведено и дополнено

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки