Этот вызов вдохновлен мемом людей культуры .
Мем включает в себя вычеркивание частей оригинального заголовка,
Ах, я вижу, что вы тоже человек культуры.
чтобы это выглядело так, как будто персонаж говорит что-то еще.
Ваша задача состоит в том, чтобы написать программу, которая с учетом входных данных показывает, как можно исключить исходное предложение для получения входной строки.
Правила:
- Используйте
-
символ для обозначения скрытого символа. - Вы не должны добавлять дополнительные буквы для ввода строки ввода
- Вы можете рассматривать сравнения строк как регистрозависимые
- Вы можете игнорировать пробелы в сравнениях строк
- Если замена невозможна, выведите ложное значение.
- Вы также можете заменить лишние пробелы символом
-
, хотя и не обязательным. - Если возможно несколько решений, вы можете вывести любое из них.
Тестовые случаи:
Основные:
Ah, I see you're a well.
> Ah, I see you're a --- -- ------- -- well.
Ah, I see well.
> Ah, I see ------ - --- -- ------- -- well.
Пограничный случай 1:
What did you just say about me, you little
> false
Крайний случай 2 (отредактированный):
*no input*
> --- - --- ------ - --- -- ------- -- -----
Промежуточное:
Ah, I see you're Orwell.
> Ah, I see you're - --- o- -----r- -- well.
Ah, ymca.
> Ah, - --- y----- - m-- -- c------ a- ----.
Ah, a manual.
> Ah, - --- ------ a man -- -u----- a- --l-.
OR: > Ah, - --- ------ a man -- -u----- a- ---l.
Сильнее:
tea.
> --- - --- ------ - --- -- ---t--e a- ----.
eeeee
> --- - -ee -----e - --- -- ------e -- -e---
TL; DR: для заданной входной строки выведите строку, представляющую, как следует изменить исходную строку, чтобы она соответствовала входной строке, используя «-» для обозначения заглушенного символа. Если замена невозможна, выведите ложное значение.
Код гольф, поэтому выигрывает самый короткий код в байтах.
Изменить: разъяснения
Игнорировать пробелы в сравнениях строк означает, что вы можете удалить пробелы перед сравнением строк. Например, входы
Ah, a manual
иAh , a manual
обрабатываются как равные. Другие знаки препинания, ' .
должны быть сохранены. Аналогично для выводаAh, a manual
равноAh, amanual
.замещающий избыточный пробел относится к пробелам, присутствующим в оригинальном заголовке. Вам не нужно заменять их на «-», но если вы заменяете сети, вам нужно больше очков, тогда продолжайте.
"Ah,<5 SPACES HERE>a manual."
дать?Ответы:
> <> , 94 байта
Попробуйте онлайн!
Чувствителен к регистру, не игнорирует пробелы или знаки пунктуации и выводит пустую строку, если ввод неверен. Если вы хотите попробовать другие строки, вы можете просто изменить первую строку после
"v
, если она не содержит"
или нулевой байт.источник
Сетчатка 0.8.2 , 117 байт
Попробуйте онлайн! Может сэкономить 1 байт, требуя чувствительности к регистру. Может сохранить 3 байта, вернувшись
--, - --- ---'-- - --- -- ------- -- ----.
на пустой ввод. Объяснение:Добавьте нужный текст к вводу.
Переместите как можно больше символов из нужного текста в результат. Если символ представляет собой букву, он также должен соответствовать следующей букве на входе, которая затем удаляется.
Если на входе нет подходящей буквы, измените ее на a
-
и попробуйте снова.Если на входе еще остались буквы, удалите все, в противном случае удалите оставшуюся часть ввода.
источник
Желе ,
58554845 байтПопробуйте онлайн!
Более читаемая версия:
Разрыв сжатия строки:
источник
Python 2 ,
126114 байтПопробуйте онлайн!
Python 2 ,
108106 байтВвод представляет собой список символов.
Попробуйте онлайн!
источник
(i=='')
может быть(i<' ')
(используя вкладку, самый низкий печатный символ)?JavaScript (Node.js) ,
122120 байтПопробуйте онлайн!
Пояснение:
Может быть уменьшено и далее, но также заменяет пробелы на '-'. Если это приемлемо, то
JavaScript (Node.js) , 112 байт
Попробуйте онлайн!
Уменьшено еще больше, только заменяет пробелы, которые идут после данной строки, на «-».
JavaScript (Node.js) , 105 байт
Попробуйте онлайн!
источник
What did you just say about me, you little
What did you just say about me, you little
теста. Ваша программа выдает в--- - --- ------ - --- -- ------- -- w----
качестве вывода, что не соответствует требованиям спецификации.JavaScript (Node.js) , 135 байт
Попробуйте онлайн!
Если «может» означает «делать или не делать - это нормально», тогда
JavaScript (Node.js) , 106 байт
Попробуйте онлайн!
источник
Brain-Flak ,
764600 байтПопробуйте онлайн!
Большие улучшения благодаря Джо Кингу , особенно в струнной конструкции, а также несколько логических настроек в основном корпусе. Объяснение от него
Он чувствителен к регистру (поэтому «Ах, я вижу, что вы Оруэлл.» Не совпадает, но «Ах, я вижу, вы или хорошо.» Не соответствует), пробелы во входных данных не игнорируются, а непропаренные пробелы в исходной строке преобразован в
-
. Насколько я понимаю, все это допустимые варианты.Объяснение:
источник
Haskell ,
182174172171170169 байтПопробуйте онлайн!
Ungolfed:
источник
Пролог (SWI) , 109 байт
Попробуйте онлайн!
Учитывает регистр и пробелы.
-/2
Предикат является основным предикат с его первым аргументом является строка ввода , а второй аргумент является выходной строки.источник
JavaScript (Node.js), 103 байта
Попробуйте онлайн!
Чувствительный к регистру.
источник
Pyth , 78 байтов SBCS
Набор тестов
Непечатные символы, присутствующие в коде, см. Ссылку для правильной версии.
Чувствителен к регистру, не игнорирует пробелы.
источник
Perl 5
-F
, 192 байтаПопробуйте онлайн!
источник