배경
나는 Wikipedia 에서이 매우 흥미로운 벤 다이어그램을 보았습니다 : https://simple.wikipedia.org/wiki/Alphabet#/media/File:Venn_diagram_gr_la_ru.svg
러시아어, 그리스어 및 라틴어 알파벳 사이에 공통된 다른 알파벳으로 문자 (물리적 모양)를 표시합니다.
도전
표시된 세 가지 스크립트 (예 : 대문자 그리스어, 키릴 문자 또는 라틴 문자) 중 하나에서 입력 된 문자열이 제공되면 각 언어와 일치하는 문자열의 백분율을 출력합니다. 반복되는 글자는 매번 계산됩니다.
예를 들어, FFLURS
모든 라틴 전용 문자이므로 출력은 FFLURS is 100% Latin, 0% Cyrillic and 0% Greek
입니다.
대조적으로, TOX BEAM PHP
세 언어 모두에 나타나는 문자로 완전히 구성되므로 출력은 TOX BEAM PHP is 100% Cyrillic, 100% Greek and 100% Latin
입니다.
조회 테이블
벤 다이어그램은 아래 문자의 출처입니다.
라틴어 만 :
J,G,S,D,Q,U,V,W,F,L,R
라틴어 및 키릴 어 :
C, С
라틴어 및 그리스어 :
I,Ι, N,Ν, Z,Ζ
그리스어와 키릴 어
Φ,Ф, Π,П, Γ,Г, Λ,Л
세 개 모두:
A,B,E,O,M,K,T,X,Y,H,P (and equivalents in greek and cyrillic), (space)
나머지는 ... 그리스어 만 또는 키릴 어만입니다.
중요 사항
유니 코드는 (예를 들어) 각 언어마다 하나씩 세 가지 방법으로 "A"를 정의합니다. 입력에 사용되는 (& # 0391, & # 0410 또는 & # 0041), 프로그램은 세 언어 모두와 일치하는 것으로 이해해야합니다.
따라서 A
(라틴어), Α
(그리스어 알파) 및 А
(키릴 자모)가 모두 100% Cyrillic, 100% Greek and 100% Latin
대답 해야합니다 .
입력 형식
모든 문자열 독점적 포함 А-Я
, Α-Ω
, A-Z
및 (공간). 이 문자들은 문자열 내에서 여러 번 반복 될 수 있습니다.
출력 형식
함수가 일관된 결과를 생성하는 경우 출력은 모든 형식이 될 수 있습니다. 나는 것 같은 내 예 (에 표시 형식으로 출력을 볼 수 FFLURS is 100% Latin, 0% Cyrillic and 0% Greek
), 그러나 모든 사람에게 도전은보다 개방 만들기 위해 나는 비율 / 비율의 배열 / 문자열을 받아 행복 해요 :
[100,0,0]
,
100 0 0
[1.0 0.0 0.0]
어떤 언어가 어떤 언어인지 항상 분명한 한, 결과는 일관성이 있어야합니다.
더 많은 테스트 사례
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
승리 기준
일반적인 규칙과 예외가 적용됩니다. 최단 답변 (바이트)이 이깁니다.
(샌드 박스 링크 : https://codegolf.meta.stackexchange.com/a/14984/62289 )
의심의 여지를 없애기 위해 입력에 유효한 유일한 유니 코드 문자는 다음과 같습니다.
- 0020, 0041-005A (라틴 알파벳)
- 0020, 0391-03A9 (그리스어 알파벳)
- 0020, 0401, 0410-042F (키릴 자모)
그러나 룩업 테이블에 표시된 것처럼 문자는 교차 알파벳 일 수 있습니다.
주석에서 Jonathan Allan의 표 추가 :
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