Vous devez écrire une fonction / un programme qui accepte les entrées via les stdin
arguments de ligne de commande / arguments de fonction, mélange les caractères dans une chaîne, puis affiche la chaîne finale via stdout
.
L'entrée contiendra d'abord une chaîne (non vide ou null
), un espace, puis un nombre pair de nombres non négatifs, tous séparés par des espaces. Si l'entrée est prise via des arguments de fonction, la chaîne sera l'un des arguments tandis que les entiers, séparés par un espace, seront l'autre. Vous devez permuter les caractères de la chaîne aux indices correspondant aux paires consécutives de nombres.
Par exemple:
Hello_world! 0 6
doit se traduire par
wello_Horld!
Hypothèses
- Vous pouvez choisir entre l'indexation basée sur 0 et celle basée sur 1, et pouvez supposer que les index donnés seront toujours dans la plage.
- La chaîne ne sera pas plus de 100 caractères et ne contenir que des caractères ASCII dans la gamme
!
de~
(codes de caractères 0x21 à 0x7E, inclus). Voir le tableau ASCII pour référence. - Les deux indices d'une paire peuvent être identiques (auquel cas, rien n'est échangé à cette étape).
Notation
Il s'agit du code golf, donc la soumission la plus courte (en octets) l'emporte.
Cas de test
Hello_world! 0 6 => wello_Horld!
First 1 2 1 0 0 4 => tFisr
(Second!$$) 8 7 10 1 => ()econd$!$S
~Third~ 0 0 6 6 0 6 6 0 => ~Third~