* Qu'est-ce qu'un transmogrificateur?
Dans le langage de programmation C , il existe des formations appelées digraphes et trigraphes qui sont des séquences de deux et trois caractères évaluées en caractères moins courants. Par exemple, vous pouvez utiliser ??-
si votre clavier n'en a pas ~
.
Étant donné le texte, remplacez toutes les instances des digraphes et trigraphes suivants (côté gauche) par le caractère golfé correct, le plus court (côté droit).
??= #
??/ \
??' ^
??( [
??) ]
??! |
??< {
??> }
??- ~
<: [
:> ]
<% {
%> }
%: #
Contribution
L'entrée est du texte ASCII. Retour à la ligne autorisé. N'a pas besoin d'être un code C valide.
Production
La sortie est le même texte, avec toutes les instances des digraphes et trigraphes ci-dessus remplacées par la version raccourcie, évaluée de gauche à droite. Retour à la ligne autorisé. N'a pas besoin d'être un code C valide.
Cas de test
=>
sépare l'entrée et la sortie.
if (true ??!??! false) { => if (true || false) {
??-arr.indexOf(n) => ~arr.indexOf(n)
function f(??) { console.log('test??'); } => function f(] { console.log('test^); }
/* comment :> :) *??/ => /* comment ] :) *\
%:What am I doing??!!??` => `#What am I doing|!??
??(??)??(??) <:-- not a palindrome => [][] [-- not a palindrome
?????????? => ??????????
int f(int??(??) a) ??< return a??(0??)??'a??(1??) + "??/n"; ??> => int f(int[] a) { return a[0]^a[1] + "\n"; }
??<:>??<% => {]{%
<:> => [>
<::> => []
:>> => ]>
#\^[]|{}~ => #\^[]|{}~
: > => : >
??=%: => ##
"??=%:"
est un autre cas de test pertinent: en C, cela signifie "#%:"
où %:
n'est pas spécial, mais je pense que votre sortie attendue est "##"
.