Моя проблема заключается в следующем. У меня есть список замен, в том числе одна замена для каждой буквы алфавита, а также некоторые замены для групп из более чем одной буквы. Например, в моем шифре p становится b, l становится w, e становится i, но le становится by, а ple становится memi.
Итак, хотя я могу придумать несколько простых/наивных способов реализации этого шифра, он не очень эффективен, и мне было интересно, какой самый эффективный способ сделать это. Ответ не обязательно должен быть на каком-то конкретном языке, подойдет общий структурированный английский алгоритм, но если он должен быть на каком-то языке, я бы предпочел C++ или Java или аналогичный.
РЕДАКТИРОВАТЬ: мне не нужно, чтобы этот шифр был расшифровываемым, алгоритм, который сопоставлял все отдельные буквы с буквой «w», но вместо этого сопоставлял строку «had» со строкой «jon», тоже должен быть в порядке (тогда строка " У Мэри был маленький ягненок.» станет «Wwww jon w wwwwww wwww.»).
Я бы хотел, чтобы алгоритм был полностью общим.