Il tuo compito: scrivi un programma / funzione che quando viene data una stringa contenente solo caratteri ASCII, genera / restituisce la stringa in senso inverso.
Esempio:
1) Ingresso
Hello, World!
2) Numero di caratteri univoci in input. (Stringa di input separata da pipe ( |) per leggibilità)
H|e|l|l|o|,| |W|o|r|l|d|!
1 2 3 4 5 6 7 8 9 10
3) Per i caratteri duplicati, trova la prima occorrenza di quel personaggio e numera il personaggio duplicato con lo stesso numero del primo.
H|e|l|l|o|,| |W|o|r|l|d|!
1 2 3 3 4 5 6 7 4 8 3 9 10
4) Invertire la stringa, ma non i numeri.
!|d|l|r|o|W| |,|o|l|l|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10
5) Elimina i caratteri sopra i numeri di ripetizione. (Caratteri eliminati rappresentati con un asterisco.)
!|d|l|*|o|W| |,|*|l|*|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10
6) Sostituisci i caratteri eliminati con il carattere che appare sopra la prima occorrenza del numero su cui si trova il carattere eliminato.
!|d|l|l|o|W| |,|o|l|l|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10
7) Uscita
!dlloW ,olleH
Casi test:
Input -> Output
"Hello, World!" -> "!dlloW ,olleH"
"18464399" -> "99343488"
"Code Golf" -> "floG eloC"
"abcdefgABCDEFG" -> "GFEDCBAgfedcba"
"Mmm, marshmallows" -> "swwllwmhsrwm mms"
"15147" -> "74751"