Задачи
March 1, 2022
Задача. Зигзаг-шифр
Рассмотрим строку "PAYPALISHIRING". Строка записывается зигзагом в заданном количестве строк.
Далее читаем строку построчно: "PAHNAPLSIIGYIR". Необходимо написать алгоритм шифровки заданной строки и заданного количества строк.
Входные данные: строка содержит только буквы английского алфавита, размер строки от 1 до 1000. N - количество строк от 1 до 1000.
- "PAYPALISHIRING"; N = 3
Output: "PAHNAPLSIIGYIR"
Пояснение: смотри рисунок выше. - "PAYPALISHIRING"; N = 4
Output: "PINALSIGYAHRPI"
Пояснение:
Разбор
Задача сводится на простую разбивку подзадач и циклов, которые моделируют проход по зигзагу.
Алгоритм:
- Создаем список списков.
- Идем по строке от начала до конца.
2.1. 1й подцикл идет по столбцу вниз.
2.2. Далее идем по диагонали наверх. - Список списков переводим в результрующую строку.