Sie müssen eine Funktion / ein Programm schreiben, die / das über die stdin/ Befehlszeilenargumente / Funktionsargumente eingibt, Zeichen in einer Zeichenfolge mischt und dann die endgültige Zeichenfolge über das ausgibt stdout.
Die Eingabe enthält zuerst eine Zeichenfolge (nicht leer oder null), ein Leerzeichen und dann eine gerade Anzahl nicht negativer Zahlen, die alle durch Leerzeichen getrennt sind. Wenn die Eingabe über Funktionsargumente erfolgt, ist die Zeichenfolge eines der Argumente, während die durch ein Leerzeichen getrennten Ganzzahlen die andere sind. Sie müssen die Zeichen der Zeichenfolge an den Indizes austauschen, die aufeinanderfolgenden Zahlenpaaren entsprechen.
Zum Beispiel:
Hello_world! 0 6
muss ergeben
wello_Horld!
Annahmen
- Sie können zwischen 0-basierter und 1-basierter Indizierung wählen und davon ausgehen, dass die angegebenen Indizes immer im Bereich liegen.
- Die Zeichenfolge darf nicht länger als 100 Zeichen sein und enthält nur ASCII-Zeichen im Bereich
!bis~(Zeichencodes 0x21 bis einschließlich 0x7E). Siehe ASCII-Tabelle als Referenz. - Die beiden Indizes in einem Paar können identisch sein (in diesem Fall wird in diesem Schritt nichts ausgetauscht).
Wertung
Dies ist Code Golf, daher gewinnt die kürzeste Übermittlung (in Bytes).
Testfälle
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~