На днях я снова допустил терапевтическую ошибку.
Клиент на сессии рассказал задачку по программированию, с которой он столкнулся на собеседовании в одну крупную компанию — и испытал сложности. Она мне понравилась, я тут же ее радостно решил и попросил разрешения опубликовать ее в блоге.
Это было в высшей степени не терапевтично. Программист победил терапевта. Это было вообще not cool.
У меня к подобным задачам двойственные чувства: либо я их решаю сразу, либо не решаю вообще, причем часто не понятно, как это связано с умением программировать или умом. Конкретно эта задача оказалось мне простой, но только потому, что я решал подобную («написать программу, разгадывающую анаграммы» — считайте, что это спойлер).
А задачка такая:
Есть много-много разных строк, зашифрованных простым шифром: все буквы в строке сдвигаются на N позиций. То есть, вместо «папа» становится «рбрб», если N = 1.
Во всех строках N разное.
Надо вывести вместе все «совпадающие» строки — те строки, которые до шифрования были одинаковыми.