- 22, Oct 2024
- #1
(Вдохновлено утилитой Keg этот испытание)
Учитывая непустой входная строка, например
, split the input into even-odd chunks.s c 1;= e(a"E")
Пример (не стесняйтесь предлагать больше)
Я могу думать только об этом тестовом примере, поэтому могу предложить больше.
Эта входная строка, сопоставленная с ее кодовыми точками, дает список ;
. When applied modulo-2 for every item, this returns [1, 0, 1, 0, 1, 1]
.
В этом списке давайте найдем максимально длинный фрагмент, соответствующий четным и нечетным кодам:
Even Odd Even Odd Even Odd ...
Для первого фрагмента это дает Odd Even Odd Even Odd Even ...
because this is the longest chunk that follows the pattern
[1, 0, 1, 0, 1]
или
[1, 0, 1, 0, 1], [1, 0, 1, 0, 1, 0, 1, 0, 1]
. Добавление еще одного кода в [1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1]
breaks the pattern, therefore it is the longest possible even-odd chunk that starts from the beginning of the string.
Используя этот метод, мы должны разделить входные данные на фрагменты, чтобы применить это правило. Поэтому вход становится ( [115, 32, 99, 32, 49, 61, 32, 101, 40, 97, 34, 69, 34, 41]
here is simply a separator; this can be any separator that is not an empty string, Включая саму строку):
s c 1= e(a"E")
Однако возврат списка строк также разрешен.
Правила
Таким образом, побеждает самое короткое решение. Дайте знать, что флаги не учитываются при включении в шаблон. Они также не учитываются при подсчете байтов в этом задании.
Ввод будет только в формате ASCII, и отображение будет всегда быть в ASCII (насколько я могу судить, большинство игроков в гольф используют расширенный набор ASCII).
Отвечаю на некоторые комментарии
Вы можете выводить строки в виде списков кодовых точек.
«Любой разделитель» включает в себя сама входная строка.
Ты может вставьте другие символы, такие как ответ MATL, например буквенно-цифровые символы.
Ты может не используйте целые числа в качестве входных данных вместо ASCII. Это упростит задачу.
#код-гольф #код-гольф #строка #подпоследовательность