Существует несколько способов создания заголовков для сообщений в сети Stack Exchange. Формат это чаще всего 1 используется на PPCG , кажется:
# Level one header
## Level two header
### Level three header
Обратите внимание на пробел после хеш-меток. Также обратите внимание, что конечные хэш-метки не включены.
Вызов:
Возьмите (возможно многострочную) строку в качестве входных данных и выведите строку в следующем формате:
- Если заголовок уровня 1, выводите каждую букву 4 на 4 раза
- Если заголовок уровня 2, выводите каждую букву 3 на 3 раза
- Если заголовок 3-го уровня, выводите каждую букву 2 на 2 раза
- Если строка не является заголовком, выведите ее как есть.
Проиллюстрировать:
--- Level 1 ---
# Hello
--- Output---
HHHHeeeelllllllloooo
HHHHeeeelllllllloooo
HHHHeeeelllllllloooo
HHHHeeeelllllllloooo
--- Level 2 ---
## A B C def
--- Output ---
AAA BBB CCC dddeeefff
AAA BBB CCC dddeeefff
AAA BBB CCC dddeeefff
--- Level 3 ---
### PPCG!
--- Output---
PPPPCCGG!!
PPPPCCGG!!
Просто как тот!
Правила:
- Вы должны поддерживать ввод в несколько строк. Использование
\n
и т. Д. Для новых строк нормально.- Там не будет строк, содержащих только
#
один пробел
- Там не будет строк, содержащих только
- Вывод должен быть представлен в несколько строк. Вы не можете выводить
\n
вместо буквальных новых строк.- Конечные пробелы и переводы строки в порядке.
Тестовые случаи:
Вход и выход разделены линией ...
.
# This is a text
with two different
### headers!
........................................................
TTTThhhhiiiissss iiiissss aaaa tttteeeexxxxtttt
TTTThhhhiiiissss iiiissss aaaa tttteeeexxxxtttt
TTTThhhhiiiissss iiiissss aaaa tttteeeexxxxtttt
TTTThhhhiiiissss iiiissss aaaa tttteeeexxxxtttt
with two different
hheeaaddeerrss!!
hheeaaddeerrss!!
This input has
## trailing hash marks ##
#and a hash mark without a space after it.
........................................................
This input has
tttrrraaaiiillliiinnnggg hhhaaassshhh mmmaaarrrkkksss ######
tttrrraaaiiillliiinnnggg hhhaaassshhh mmmaaarrrkkksss ######
tttrrraaaiiillliiinnnggg hhhaaassshhh mmmaaarrrkkksss ######
#and hash marks without a space after it.
# This ## is ### strange
#### ###
........................................................
TTTThhhhiiiissss ######## iiiissss ############ ssssttttrrrraaaannnnggggeeee
TTTThhhhiiiissss ######## iiiissss ############ ssssttttrrrraaaannnnggggeeee
TTTThhhhiiiissss ######## iiiissss ############ ssssttttrrrraaaannnnggggeeee
TTTThhhhiiiissss ######## iiiissss ############ ssssttttrrrraaaannnnggggeeee
#### ###
Multiple
### newlines! #
:)
........................................................
Multiple
nneewwlliinneess!! ##
nneewwlliinneess!! ##
:)
Line with only a hash mark:
#
### ^ Like that!
........................................................
Line with only a hash mark:
#
^^ LLiikkee tthhaatt!!
^^ LLiikkee tthhaatt!!
1: я действительно не проверил, но я думаю, что это правда.
Ответы:
Stacked ,
5150 байтовСохранено 1 байт благодаря @RickHitchcock - регулярное выражение в гольфе
Попробуйте онлайн!
Анонимная функция, которая принимает данные из стека и оставляет их в стеке.
объяснение
источник
JavaScript (ES6),
111105 байтСохранено 6 байтов благодаря @Shaggy
Сопоставляет 1-3 хэша в начале строки или начинается с новой строки, затем повторяет каждый символ в совпадении вместе с самим совпадением, основываясь на длине хешей.
Тестовые случаи:
Показать фрагмент кода
источник
Сетчатка ,
125104 байтаПопробуйте онлайн
Сохранено 21 байт благодаря Нейлу.
источник
%)
на третьем этапе, который позволяет удалить%
s на первых двух этапах. Также один обычно помещаетG
после(
s (из которых вам теперь нужно два) в заголовке.m)
илиm(
теперь экономит 9 байтов, потому что затем вы можете удалить все другиеm
s.MATL ,
434240 байт1 байт удален благодаря Рику Хичкоку !
Это выводит завершающий пробел в каждой строке (разрешено вызовом) и завершается с ошибкой (разрешено по умолчанию) после выдачи вывода.
Попробуйте онлайн!
объяснение
источник
repelem
(Y"
в MATL).kron
по-прежнему, вероятно, самый короткий путь в MATLABPerl 5, 47 +1 (-p) байт
попробуйте это онлайн
источник
Древесный уголь , 46 байт
Попробуйте онлайн! Ссылка на подробную версию кода. Древесный уголь на самом деле не вводит строковый массив, поэтому мне пришлось добавить длину массива в качестве входных данных. Объяснение:
Зацикливание на соответствующем количестве входных строк.
Создайте массив строк, взяв входные данные и добавив префикс до 2 #, затем обрезав до длины 4, затем попытайтесь найти
###
в массиве и затем преобразовать в 1-индексирование. Это приводит к числу, которое на единицу меньше, чем увеличение буквы.Если увеличение буквы равно 1, тогда переберите всю строку, в противном случае зациклите на соответствующем суффиксе (который необоснованно трудно извлечь в Charcoal).
Нарисуйте многоугольник, заполненный буквой, заканчивающейся в верхнем правом углу, а затем двигайтесь вправо, готовясь к следующей букве.
Распечатайте вывод и сбросьте готово для следующей входной строки.
источник
SOGL V0.12 ,
3128 байтПопробуй здесь! - добавлен дополнительный код, потому что код является функцией и принимает ввод в стек (SOGL не может принимать многострочный ввод в противном случае: /) -
inputs.value”
- выдвинуть эту строку,→
- оценить как JS,F
- вызвать эту функциюОбъяснение:
источник
Протон , 130 байт
Попробуйте онлайн!
источник
\n
, но вывод должен быть показан с буквенными символами новой строки.5-
туда. ИзвинитеPython 3 , 147 байт
Попробуйте онлайн!
-1 байт благодаря мистеру Xcoder
источник
5-
туда. ИзвинитеC # (.NET Core) , 268 + 18 байт
Попробуйте онлайн!
источник
Python 3 , 131 байт
Попробуйте онлайн!
Я использовал Python 3 для использования
[]
с регулярным выражением.источник
PHP, 122 + 1 байт
Запустите как трубу с
-nR
(будет работать на одной строке ввода за другой) или попробуйте онлайн .источник
J , 55 байт
Я не знаю, как заставить TIO работать с J regex, поэтому я не могу предоставить рабочую ссылку.
Вот как это проверить в интерпретаторе J (протестировано с J804)
Я имитирую многострочную строку через список строк в штучной упаковке.
источник
Python 2 ,
126124117 байтПопробуйте онлайн!
или
Попробуйте онлайн!
источник
JavaScript, 112 байт
Показать фрагмент кода
источник
#### ##
.C # 4.5 158 байт
Где я - это ввод в виде строки.
источник