Il existe plusieurs façons de créer des en-têtes sur des publications sur le réseau Stack Exchange. Le format qui est le plus souvent 1 utilisé sur PPCG semble être:
# Level one header
## Level two header
### Level three header
Notez l'espace après les marques de hachage. Notez également que les marques de hachage de fin ne sont pas incluses.
Défi:
Prenez une chaîne (éventuellement multiligne) en entrée et sortez la chaîne au format suivant:
- Si l'en-tête est de niveau 1, sortez chaque lettre 4 x 4 fois
- Si l'en-tête est de niveau 2, sortez chaque lettre 3 x 3 fois
- Si l'en-tête est de niveau 3, sortez chaque lettre 2 fois par 2
- Si une ligne n'est pas un en-tête, affichez-la telle quelle.
Pour illustrer:
--- 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!!
Aussi simple que cela!
Règles:
- Vous devez prendre en charge la saisie sur plusieurs lignes. L'utilisation de
\n
etc. pour les sauts de ligne est OK.- Il n'y aura pas de lignes contenant seulement un
#
suivi d'un seul espace
- Il n'y aura pas de lignes contenant seulement un
- La sortie doit être présentée sur plusieurs lignes. Vous ne pouvez pas sortir à la
\n
place de nouvelles lignes littérales.- Les espaces de fin et les nouvelles lignes sont OK.
Cas de test:
L'entrée et la sortie sont séparées par une ligne de ...
.
# 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: Je n'ai pas vraiment vérifié, mais je pense que c'est vrai.
Réponses:
Empilé ,
5150 octets1 octet enregistré grâce à @RickHitchcock - regex golfé
Essayez-le en ligne!
Fonction anonyme qui prend l'entrée de la pile et la laisse sur la pile.
Explication
la source
JavaScript (ES6),
111105 octets6 octets enregistrés grâce à @Shaggy
Correspond à 1 à 3 hachages au début de la chaîne ou précédé d'une nouvelle ligne, puis répète chaque caractère de la correspondance avec la correspondance elle-même, en fonction de la longueur des hachages.
Cas de test:
Afficher l'extrait de code
la source
Retina ,
125104 octetsEssayez-le en ligne
Enregistré 21 octets grâce à Neil.
la source
%)
sur la troisième étape qui vous permet de supprimer les%
s sur les deux premières étapes. De plus, on place normalementG
le(
s après (dont vous aurez maintenant besoin de deux) dans l'en-tête.m)
oum(
qui économise maintenant 9 octets car vous pouvez alors supprimer tous les autresm
s.MATL ,
434240 octets1 octet supprimé grâce à Rick Hitchcock !
Cela génère un espace de fin dans chaque ligne (autorisé par le défi) et se termine avec une erreur (autorisé par défaut) après avoir produit la sortie.
Essayez-le en ligne!
Explication
la source
repelem
(Y"
en MATL).kron
est encore probablement le chemin le plus court en MATLABPerl 5, 47 +1 (-p) octets
essayez-le en ligne
la source
Fusain , 46 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Le charbon de bois ne fait pas vraiment d'entrée de tableau de chaînes, j'ai donc dû ajouter la longueur du tableau en entrée. Explication:
Faites une boucle sur le nombre approprié de chaînes d'entrée.
Créez un tableau de chaînes en prenant l'entrée et en préfixant jusqu'à 2 #, puis en tronquant à la longueur 4, puis essayez de trouver
###
dans le tableau, puis convertissez en 1-indexation. Il en résulte un nombre inférieur de un au zoom de la lettre.Si le zoom de la lettre est 1, faites une boucle sur toute la chaîne, sinon bouclez sur le suffixe approprié (qui est excessivement difficile à extraire dans Charcoal).
Dessinez un polygone rempli de la lettre se terminant dans le coin supérieur droit, puis déplacez-vous vers la droite, prêt pour la lettre suivante.
Imprimer la sortie et réinitialiser prêt pour la chaîne d'entrée suivante.
la source
SOGL V0.12 ,
3128 octetsEssayez-le ici! - du code supplémentaire a été ajouté car le code est une fonction et prend des entrées sur la pile (SOGL ne peut pas prendre des entrées multilignes autrement: /) -
inputs.value”
- pousse cette chaîne,→
- évalue comme JS,F
- appelle cette fonctionExplication:
la source
Proton , 130 octets
Essayez-le en ligne!
la source
\n
, mais la sortie doit être affichée avec des retours à la ligne littéraux.5-
dedans. DésoléPython 3 , 147 octets
Essayez-le en ligne!
-1 octet merci à M. Xcoder
la source
5-
dedans. DésoléC # (.NET Core) , 268 + 18 octets
Essayez-le en ligne!
la source
Python 3 , 131 octets
Essayez-le en ligne!
J'ai utilisé Python 3 pour l'utiliser
[]
avec regex.la source
PHP, 122 + 1 octets
Exécuter en tant que pipe avec
-nR
(fonctionnera sur une ligne d'entrée après l'autre) ou essayez-le en ligne .la source
J , 55 octets
Je ne sais pas comment faire fonctionner TIO avec J regex, donc je ne peux pas fournir de lien de travail.
Voici comment le tester dans l'interpréteur J (testé avec J804)
Je simule une chaîne multiligne à travers une liste de chaînes encadrées.
la source
Python 2 ,
126124117 117 octetsEssayez-le en ligne!
ou
Essayez-le en ligne!
la source
JavaScript, 112 octets
Afficher l'extrait de code
la source
#### ##
.C # 4,5 158 octets
Où i est l'entrée sous la forme d'une chaîne.
la source