Tujuan
Ini adalah tantangan sederhana. Tujuan Anda adalah menguraikan string dengan menukar setiap huruf dengan huruf berikutnya dari huruf yang sama, sambil membiarkan karakter non-huruf tidak berubah.
Penjelasan langkah demi langkah
Karakter pertama adalah a
E
. Kami mencari huruf berikutnya dalam huruf besar: itu aC
. Kami menukar karakter ini, yang mengarah keCdoE!
.Kami maju ke karakter berikutnya: ini adalah a
d
. Kami mencari huruf berikutnya dalam huruf kecil: itu ao
. Kami menukar karakter ini, yang mengarah keCodE!
.Kami maju ke karakter berikutnya: ini adalah
d
bahwa kami baru saja pindah ke sini. Kami mengabaikannya, karena sudah diproses.Kami maju ke karakter berikutnya: ini adalah
E
yang dipindahkan di sini di langkah # 1. Kami mengabaikannya, karena sudah diproses.Kami maju ke karakter berikutnya: ini adalah a
!
. Kami mengabaikannya, karena itu bukan surat.
Aturan
Anda dapat mengasumsikan bahwa string input dibuat secara eksklusif dari karakter ASCII yang dapat dicetak, dalam kisaran 32 - 126.
Anda dapat menulis program lengkap atau fungsi, yang mencetak atau mengembalikan hasilnya.
Jika string input berisi jumlah huruf ganjil, huruf terakhir yang tersisa tidak dapat ditukar dengan yang lain dan harus tetap di tempatnya, tidak peduli kasusnya. Logika yang sama berlaku jika string berisi angka genap, tetapi angka ganjil dari huruf besar dan jumlah ganjil dari huruf kecil.
Ini adalah kode-golf, jadi jawaban tersingkat dalam byte menang. Celah standar dilarang.
Uji kasus
Input : lLEhW OroLd!
Output: hELlO WorLd!
Input : rpGOZmaimgn uplRzse naC DEoO LdGf
Output: prOGRamming puzZles anD COdE GoLf
Input : eIt uqHKC RBWOO xNf ujPMO SzRE HTL EOvd yAg
Output: tHe quICK BROWN fOx juMPS OvER THE LAzy dOg
Input : NraWgCi: Nsas-eNEiTIsev rNsiTG!!
Output: WarNiNg: Case-sENsITive sTriNG!!
Kasus uji yang tidak terlalu acak:
Input : (^_^)
Output: (^_^)
Input : AWCTY HUOS RETP
Output: WATCH YOUR STEP
Input : hwn oeesd acsp nawyya
Output: who needs caps anyway
Input : SpMycaeIesKyBorekn
Output: MySpaceKeyIsBroken
Input : D's mroyr, Ivam. I'e faardi I act'n od htta.
Output: I'm sorry, Dave. I'm afraid I can't do that.