Il tuo obiettivo è inserire qualsiasi testo arbitrario, come ad esempio:
This is some text
E genera quel testo formattato come codice per i post (Markdown con sapore SE) e i commenti (mini Markdown) su Stack Exchange, come:
`This is some text`
`This is some text`
Tuttavia, diventa più complicato. Considera l'input:
Perl has a variable called $`
L'output deve essere
`` Perl has a variable called $` ``
`Perl has a varaible called $\``
Le regole complete per la formattazione sono:
Post completi (Markdown completo SE)
Passaggio 1: contare il numero minimo per il quale non ci sono esattamente tanti backtick consecutivi nella stringa. Chiamiamo questo
n. (Ad esempio, per la stringapotato,nè 1, perthis is a backtick: `,nè 2 e per` `` ``` ````` ``````,nè 4.)Passaggio 2: avvolgere la stringa in
nbacktick. Se la stringa inizia o termina con un backtick, è necessario avvolgere anche gli spazi. (Ad esempio,potatodiventa`potato`,this is a backtick: `diventa`` this is a backtick: ` ``e` `` ``` ````` ``````diventa```` ` `` ``` ````` `````` ````.
Commenti (mini-markdown)
- Avvolgere in
`e fuggire tutti`'s con\`. (Ad esempio,potatodiventa`potato`,this is a backtick: `diventathis is a backtick: \`e` `` ``` ````` ``````diventa\` \`\` \`\`\` \`\`\`\`\` \`\`\`\`\`\`.
- Avvolgere in
Questo è code-golf ; vince la risposta più breve nel conteggio dei byte.
\; per formattare un \, devi farlo ``\``. Inoltre, tutto ciò che termina con uno \incontra lo stesso problema: asdf\produce `asdf`