Göreviniz: yalnızca ASCII karakterleri içeren bir dize verildiğinde, dizeyi tersine ish olarak veren / döndüren bir program / işlev yazın.
Misal:
1) Giriş
Hello, World!
2) Girişteki benzersiz karakterleri numaralandırın. ( |Okunabilirlik için borular ( ) ile ayrılmış giriş dizesi )
H|e|l|l|o|,| |W|o|r|l|d|!
1 2 3 4 5 6 7 8 9 10
3) Yinelenen karakterler için, o karakterin ilk oluşumunu bulun ve yinelenen karakteri birinciyle aynı numarayla numaralandırın.
H|e|l|l|o|,| |W|o|r|l|d|!
1 2 3 3 4 5 6 7 4 8 3 9 10
4) Dizeyi tersine çevirin, ancak sayıları değil.
!|d|l|r|o|W| |,|o|l|l|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10
5) Tekrarlanan numaraların üzerindeki karakterleri silin. (Yıldız işareti ile gösterilen silinen karakterler.)
!|d|l|*|o|W| |,|*|l|*|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10
6) Silinmiş karakterleri, silinen karakterin bittiğinin ilk tekrarında görünen karakterle değiştirin.
!|d|l|l|o|W| |,|o|l|l|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10
7) Çıktı
!dlloW ,olleH
Test senaryoları:
Input -> Output
"Hello, World!" -> "!dlloW ,olleH"
"18464399" -> "99343488"
"Code Golf" -> "floG eloC"
"abcdefgABCDEFG" -> "GFEDCBAgfedcba"
"Mmm, marshmallows" -> "swwllwmhsrwm mms"
"15147" -> "74751"