Hintergrund
Ich habe dieses sehr interessante Venn-Diagramm auf Wikipedia gesehen: https://simple.wikipedia.org/wiki/Alphabet#/media/File:Venn_diagram_gr_la_ru.svg
Es zeigt die Buchstaben (physische Formen) in verschiedenen Alphabeten, die in russischen, griechischen und lateinischen Alphabeten vorkommen.
Die Herausforderung
Geben Sie einen Prozentsatz der Zeichenfolge aus, die zu jeder Sprache passt, wenn Sie eine Zeichenfolge aus einem der drei angezeigten Skripte (dh griechische, kyrillische oder lateinische Großbuchstaben) eingeben. Wiederholte Buchstaben zählen jedes Mal.
Ist zum Beispiel FFLURS
alles nur lateinische Zeichen, so ist die Ausgabe FFLURS is 100% Latin, 0% Cyrillic and 0% Greek
.
Wird dagegen TOX BEAM PHP
komplett aus Zeichen gebildet, die in allen drei Sprachen vorkommen, so erfolgt die Ausgabe TOX BEAM PHP is 100% Cyrillic, 100% Greek and 100% Latin
.
Nachschlagetabellen
Das Venn-Diagramm ist die Quelle der folgenden Buchstaben:
Nur lateinisch:
J,G,S,D,Q,U,V,W,F,L,R
Latein und Kyrillisch:
C, С
Latein und Griechisch:
I,Ι, N,Ν, Z,Ζ
Griechisch und Kyrillisch
Φ,Ф, Π,П, Γ,Г, Λ,Л
Alle drei:
A,B,E,O,M,K,T,X,Y,H,P (and equivalents in greek and cyrillic), (space)
Der Rest ... ist nur für Griechisch oder nur für Kyrillisch.
WICHTIGE NOTIZ
Unicode definiert (zum Beispiel) "A" auf (mindestens) drei verschiedene Arten - eine für jede Sprache. Unabhängig davon, was in der Eingabe verwendet wird (& # 0391, & # 0410 oder & # 0041), sollte das Programm verstehen, dass alle drei Sprachen übereinstimmen.
Also, A
(lateinisch), Α
(griechisch Alpha) und А
(kyrillisch) sollten alle 100% Cyrillic, 100% Greek and 100% Latin
als Antwort geben.
Eingabeformat
Jede Zeichenfolge enthält ausschließlich А-Я
, Α-Ω
, A-Z
und (Raum). Diese Zeichen können innerhalb der Zeichenfolge mehrmals wiederholt werden.
Ausgabeformat
Die Ausgabe kann in einem beliebigen Format erfolgen, sofern die Funktion konsistente Ergebnisse liefert. Ich würde gerne Ausgabe im Format sehen , die ich in meinen Beispielen zeigen ( FFLURS is 100% Latin, 0% Cyrillic and 0% Greek
), aber um Ich bin die Herausforderung mehr offen für jeden glücklich zu machen Arrays / Strings Prozent / Verhältnisse zu akzeptieren:
[100,0,0]
,
100 0 0
[1.0 0.0 0.0]
solange immer klar ist, welche nummer welche sprache ist, sollte die ausgabe konsistent sein.
Noch ein paar Testfälle
CINEMATICS
-> CINEMATICS is 100% Latin, 70% Greek and 60% Cyrillic
ЩJЩFЩLΞRΞVΞW
-> ЩJЩFЩLΞRΞVΞW is 50% Latin, 25% Cyrillic and 25% Greek
->
is 100% Cyrillic, 100% Greek and 100% Latin
ΨΩTESTINGЯЮ
-> ΨΩTESTINGЯЮ is 63.6% Greek, 63.6% Latin and 45.5% Cyrillic
Gewinnkriterien
Es gelten die üblichen Regeln und Ausschlüsse. kürzeste Antwort (Bytes) gewinnt.
(Sandbox-Link: https://codegolf.meta.stackexchange.com/a/14984/62289 )
Um Zweifel zu vermeiden, sind die einzigen in der Eingabe gültigen Unicode-Zeichen:
- 0020, 0041-005A (lateinisches Alphabet)
- 0020, 0391-03A9 (griechisches Alphabet)
- 0020, 0401, 0410-042F (kyrillisches Alphabet)
Wie in den Nachschlagetabellen gezeigt, können die Zeichen jedoch auch kreuzalphabetisch sein.
Hinzufügen von Jonathan Allans Tabelle aus den Kommentaren:
Latin Greek Cyrillic
U+0020 Space 1 1 1
U+0041 A Latin capital letter A 1 1 1
U+0042 B Latin capital letter B 1 1 1
U+0043 C Latin capital letter C 1 0 1
U+0044 D Latin capital letter D 1 0 0
U+0045 E Latin capital letter E 1 1 1
U+0046 F Latin capital letter F 1 0 0
U+0047 G Latin capital letter G 1 0 0
U+0048 H Latin capital letter H 1 1 1
U+0049 I Latin capital letter I 1 1 0
U+004A J Latin capital letter J 1 0 0
U+004B K Latin capital letter K 1 1 1
U+004C L Latin capital letter L 1 0 0
U+004D M Latin capital letter M 1 1 1
U+004E N Latin capital letter N 1 1 0
U+004F O Latin capital letter O 1 1 1
U+0050 P Latin capital letter P 1 1 1
U+0051 Q Latin capital letter Q 1 0 0
U+0052 R Latin capital letter R 1 0 0
U+0053 S Latin capital letter S 1 0 0
U+0054 T Latin capital letter T 1 1 1
U+0055 U Latin capital letter U 1 0 0
U+0056 V Latin capital letter V 1 0 0
U+0057 W Latin capital letter W 1 0 0
U+0058 X Latin capital letter X 1 1 1
U+0059 Y Latin capital letter Y 1 1 1
U+005A Z Latin capital letter Z 1 1 0
U+0391 Α Greek capital letter Alpha 1 1 1
U+0392 Β Greek capital letter Beta 1 1 1
U+0393 Γ Greek capital letter Gamma 0 1 1
U+0394 Δ Greek capital letter Delta 0 1 0
U+0395 Ε Greek capital letter Epsilon 1 1 1
U+0396 Ζ Greek capital letter Zeta 1 1 0
U+0397 Η Greek capital letter Eta 1 1 1
U+0398 Θ Greek capital letter Theta 0 1 0
U+0399 Ι Greek capital letter Iota 1 1 0
U+039A Κ Greek capital letter Kappa 1 1 1
U+039B Λ Greek capital letter Lambda 0 1 1
U+039C Μ Greek capital letter Mu 1 1 1
U+039D Ν Greek capital letter Nu 1 1 0
U+039E Ξ Greek capital letter Xi 0 1 0
U+039F Ο Greek capital letter Omicron 1 1 1
U+03A0 Π Greek capital letter Pi 0 1 1
U+03A1 Ρ Greek capital letter Rho 1 1 1
U+03A3 Σ Greek capital letter Sigma 0 1 0
U+03A4 Τ Greek capital letter Tau 1 1 1
U+03A5 Υ Greek capital letter Upsilon 1 1 1
U+03A6 Φ Greek capital letter Phi 0 1 1
U+03A7 Χ Greek capital letter Chi 1 1 1
U+03A8 Ψ Greek capital letter Psi 0 1 0
U+03A9 Ω Greek capital letter Omega 0 1 0
U+0401 Ё Cyrillic capital letter Io 0 0 1
U+0410 А Cyrillic capital letter A 1 1 1
U+0411 Б Cyrillic capital letter Be 0 0 1
U+0412 В Cyrillic capital letter Ve 1 1 1
U+0413 Г Cyrillic capital letter Ghe 0 1 1
U+0414 Д Cyrillic capital letter De 0 0 1
U+0415 Е Cyrillic capital letter Ie 1 1 1
U+0416 Ж Cyrillic capital letter Zhe 0 0 1
U+0417 З Cyrillic capital letter Ze 0 0 1
U+0418 И Cyrillic capital letter I 0 0 1
U+0419 Й Cyrillic capital letter Short I 0 0 1
U+041A К Cyrillic capital letter Ka 1 1 1
U+041B Л Cyrillic capital letter El 0 1 1
U+041C М Cyrillic capital letter Em 1 1 1
U+041D Н Cyrillic capital letter En 1 1 1
U+041E О Cyrillic capital letter O 1 1 1
U+041F П Cyrillic capital letter Pe 0 1 1
U+0420 Р Cyrillic capital letter Er 1 1 1
U+0421 С Cyrillic capital letter Es 1 0 1
U+0422 Т Cyrillic capital letter Te 1 1 1
U+0423 У Cyrillic capital letter U 1 1 1
U+0424 Ф Cyrillic capital letter Ef 0 1 1
U+0425 Х Cyrillic capital letter Ha 1 1 1
U+0426 Ц Cyrillic capital letter Tse 0 0 1
U+0427 Ч Cyrillic capital letter Che 0 0 1
U+0428 Ш Cyrillic capital letter Sha 0 0 1
U+0429 Щ Cyrillic capital letter Shcha 0 0 1
U+042A Ъ Cyrillic capital letter hard sign 0 0 1
U+042B Ы Cyrillic capital letter Yeru 0 0 1
U+042C Ь Cyrillic capital letter soft sign 0 0 1
U+042D Э Cyrillic capital letter E 0 0 1
U+042E Ю Cyrillic capital letter Yu 0 0 1
U+042F Я Cyrillic capital letter Ya 0 0 1