Objectif
Créer une fonction pour inverser la concaténation de chaînes
Contribution
Deux chaînes (alphanumériques + espaces), où l’une doit être soustraite pour l’autre.
- Vous pouvez supposer que la chaîne à soustraire ne sera jamais plus grande que l'autre.
Sortie
Le résultat de la soustraction
Soustraction
Vous devez supprimer une chaîne du début ou de la fin d'une autre chaîne. Si la chaîne est présente au début et à la fin, vous ne pouvez en supprimer qu'une, celle qui sera supprimée dépend de vous.
Si la chaîne n'est pas au début ou à la fin, ou n'est pas une correspondance exacte, il s'agit d'une soustraction non valide et vous devez générer la chaîne d'origine.
Cas de test
Soustraction valide
'abcde','ab' -> 'cde'
'abcde','cde' -> 'ab'
'abab','ab' -> 'ab'
'abcab','ab' -> 'abc' or 'cab'
'ababcde','ab' -> 'abcde'
'acdbcd','cd' -> 'acdb'
'abcde','abcde' -> ''
'abcde','' -> 'abcde'
'','' -> ''
Soustraction non valide (retourne la chaîne d'origine)
'abcde','ae' -> 'abcde'
'abcde','aa' -> 'abcde'
'abcde','bcd' -> 'abcde'
'abcde','xab' -> 'abcde'
'abcde','yde' -> 'abcde'
Entrée invalide (ne doit pas être traitée)
'','a' -> ''
C'est du code-golf , donc le code le plus court en octets gagne!
'abcde','bcd' -> 'abcde'
, pour avoir brisé ma solution
'ababcde', 'ab'
→ 'abcde'
comme test. Certains algorithmes naïfs échouent sur celui-là.
cde
? Qu'entendez-vous par valide? Devons-nous juger de la validité des entrées ou voulez-vous dire que nous ne recevrons pas d'entrées non valides?