Meydan okuma
Geçen gün Google’ın Java Stil Kılavuzunu okuyordum ve herhangi bir rastgele dizgiyi camelCase notasyonuna dönüştürmek için algoritmalarına rastladım. Bu zorlu mücadelede, süper rekabetçi Java gönderilerinizi kod-golf zorluklarına yazarken kafanızdaki tüm bu şeyleri yapmak istemediğiniz için bu algoritmayı uygulamanız gerekir.
Not: Algoritmada bazı küçük değişiklikler yaptım. Aşağıda belirtilen olanı kullanmanız gerekir.
Algoritması
İsteğe bağlı bir giriş dizesiyle başlar ve aşağıdaki işlemleri ona uygularsınız:
- Tüm kesme işaretlerini kaldır
`'
- Sonucu bölerek kelimelere ayırın
- alfasayısal olmayan ve bir rakam olmayan karakterler
[^a-zA-Z0-9]
- Her iki tarafta küçük harflerle çevrili büyük harfler.
abcDefGhI jk
örneğin verimlerabc Def Ghi jk
- alfasayısal olmayan ve bir rakam olmayan karakterler
- Her kelimeyi küçük harf.
- Her kelimenin ilk karakteri değil, ilk kelimenin büyük harfleri.
- Tüm kelimeleri tekrar bir araya getirin.
Ek Notlar
- Giriş yalnızca yazdırılabilir ASCII içerecektir.
- Bir rakam, bir kelimenin ilk harfiyse, olduğu gibi bırakın ve bu kelimede başka bir şey belirtmeyin.
- Giriş her zaman en az bir karaktere sahip olacaktır.
kurallar
- İşlev veya tam programa izin verildi.
- Giriş / çıkış için varsayılan kurallar .
- Standart boşluklar uygulanır.
- Bu kod golf , yani en düşük bayt sayısı kazanır. Tiebreaker daha önce gönderildi.
Test durumları
"Programlama Bulmacaları ve Kod Golf" -> "programlamaPuzzlesCodeGolf" "XML HTTP isteği" -> "xmlHttpRequest" "iOS'ta IPv6'yı destekliyor mu?" -> "destekIpv6OnIos" "W1th bazı Somehing, apo'strophe ve 'punc] tuation" -> "someThingW1thApostrophesAndPuncTuation" "özel bir şey yok" -> "hiçbir şey özel" "5 özel ca5e" -> "5 özel Ca5e" "1337" -> "1337" "1337-spEAk" -> "1337Speak" "whatA karışıklık" -> "whataMess" "abcD" -> "abcd" "a" -> "a" "B" -> "b"
Mutlu Kodlama!
snake_case
&PascalCase
snake_case
ki Python yüzünden @Martijn . FORTH da var FORTHCASE
ve APL varunreadable in any case
ApostropheS
çıktıda olmalıdır .