Betrachten Sie eine Zeichenfolge der Länge N, wie z Peanut Butter mit N = 13. Beachten Sie, dass die Zeichenfolge N-1 Paare benachbarter Zeichen enthält. Denn Peanut Butterdas erste der 12 Paare ist Pe, das zweite ist ea, das letzte ister .
Wenn es sich bei den Paaren hauptsächlich um verschiedene Zeichen handelt, hat die Zeichenfolge eine klobige Qualität, z chUnky.
Wenn diese Paare zumeist dasselbe Zeichen sind, hat die Zeichenfolge eine glatte Qualität, zsssmmsss .
Definiere das Klumpigkeit eines Strings als das Verhältnis der Anzahl der Paare mit zwei verschiedenen Zeichen zur Gesamtzahl der Paare (N-1).
Definiere das Glätte einer Zeichenfolge als Verhältnis der Anzahl der Paare mit zwei identischen Zeichen zur Gesamtzahl der Paare (N-1).
Beispielsweise, Peanut ButterttHat nur ein Paar mit identischen Zeichen ( ), so beträgt seine Glätte 1/12 oder 0,0833 und seine Klumpigkeit 11/12 oder 0,9167.
Leere Zeichenfolgen und Zeichenfolgen mit nur einem Zeichen werden als 100% glatt und 0% klobig definiert.
Herausforderung
Schreiben Sie ein Programm, das eine Zeichenfolge beliebiger Länge verwendet und entweder das Chunkiness- oder das Smoothness-Verhältnis als Gleitkommawert ausgibt.
- Nehmen Sie die Eingabe über stdin oder die Befehlszeile vor, oder schreiben Sie eine Funktion, die eine Zeichenfolge akzeptiert.
- Sie können davon ausgehen, dass die Eingabezeichenfolge nur druckbare ASCII- Zeichen enthält (und daher einzeilig ist).
- Geben Sie den Gleitkommawert auf 4 oder mehr Dezimalstellen aus, oder geben Sie ihn zurück, wenn Sie eine Funktion geschrieben haben. Nachkommastellen, die keine Informationen übermitteln, sind nicht erforderlich, z. B.
0ist in Ordnung statt0.0000. - Wählen Sie nach Belieben Chunkiness oder Smoothness. Stellen Sie nur sicher, welches Ihr Programm ausgibt.
Der kürzeste Code in Bytes gewinnt.
Beispiele
Peanut ButterChunkiness →: 0.91666666666, Glätte: 0.08333333333
chUnky→ chunkiness: 1.0, Glätte: 0.0
sssmmsss→ chunkiness: 0.28571428571, Glätte: 0.71428571428
999→ chunkiness: 0.0, Glätte: 1.0
AA→ chunkiness: 0.0, Glätte: 1.0
Aa→ chunkiness: 1.0, Glätte: 0.0
!→ chunkiness: 0.0, Glätte: 1.0
[empty string] → chunkiness: 0.0, Glätte:1.0
Bonusfrage: Welche bevorzugen Sie , klobige oder glatte Saiten ?