Dans ce défi, vous et vos amis discutez du meilleur cas, en majuscule ou en minuscule? Pour le savoir, vous écrivez un programme pour le faire pour vous.
Parce que esolangs fait peur à vos amis et que le code détaillé vous fait peur, votre code devra être aussi court que possible.
Exemples
PrOgRaMiNgPuZzLeS & CoDe GoLf
0.52 uppercase
DowNGoAT RiGHtGoAt LeFTGoat UpGoAT
0.58 uppercase
Foo BaR Baz
0.56 lowercase
Caractéristiques
L'entrée consistera uniquement en caractères ASCII. Tous les caractères non alphabétiques doivent être ignorés. Il y aura au moins 1 caractère de chaque cas
La sortie doit être la quantité de cas qui apparaît le plus souvent sur la quantité totale de caractères alphabétiques. Il doit s'agir d'une décimale précise d' au moins 2 décimales. Si les majuscules apparaissent plus souvent, la sortie doit se terminer par uppercase
, ou lowercase
.
Il n'y aura jamais autant de majuscules et de minuscules.
Réponses:
Pyth - 40 octets
C'est la première fois que j'utilise un formatage de chaîne vectorisé, ce qui est plutôt cool.
Suite de tests .
la source
JavaScript (ES6) 87 octets
modifier 1 octet enregistré thx ETHProductions
Modifier 1 octet supplémentaire enregistré thx l4me
Une fonction anonyme. Long, mais je n'ai pas trouvé un moyen de jouer au golf plus
Moins golfé
la source
&&` ${t-l>l?1-l/t+'upp':l/t+'low'}ercase`
.c=>l+=++t&&c>'Z'
cela fonctionnerait, je pense ...?CJam,
4745 octetsEssayez-le en ligne.
Je ne joue pas au golf trop longtemps ...
Explication
la source
Japt , 58 octets
(Remarque: SE a supprimé un caractère spécial avant
Ö
, alors veuillez cliquer sur le lien pour obtenir le code approprié)la source
"[a-z]"
, et la seconde par"A-Za-z"
.0.5
est égal à½
. Vous pouvez également supprimer le guillemet final.A=Uf"[a-z]" l /Uf"[A-Za-z]" l)>½?A+" low":1-A+" upp" +`\x80ÖÐ
vous pouvez obtenir la version brute des trois derniers octets avecOc"ercase
.\x80
ne semblait rien faire, et aÖÐ
produit "case" ... Peut-être des caractères invisi qui ont été tronqués? Btw, fourni mon propre mod, merci pour les conseils"\w"
correspond simplement à tous lesw
s et"\\w"
correspond à tousA-Za-z0-9_
. Je pense donc que vous devrez continuer"[a-z]"
.R ,
133 123 118 118 108 106 105 105104 octetsGolfé 10 octets grâce à @ ovs, 8 grâce à @Giuseppe et 10 encore grâce à @ngm. À ce stade, c'est vraiment un effort de collaboration où je fournis les octets et d'autres les enlèvent;)
Essayez-le en ligne!
la source
MATL , 49
50octetsUtilise la version actuelle (4.1.1) de la langue, qui est antérieure au défi.
Exemples
Explication
la source
Julia,
7674 octetsIl s'agit d'une fonction lambda qui accepte une chaîne et renvoie une chaîne. Pour l'appeler, affectez-le à une variable.
Non golfé:
Enregistré 2 octets grâce à edc65!
la source
ercase
au lieu decase
Perl 6 ,
91 70 69 6361 octetsUsage:
la source
C #, 135 octets
A besoin:
Fonction réelle:
Avec explication:
la source
Python 2,
114110 octetsla source
['upp','low'][n<.5]
par'ulpopw'[n<.5::2]
et 3 autres en remplaçant[n,1-n][n<.5]
parmax(n,1-n)
.Mathematica,
139105 octetsLe code verbeux fait peur , mais je vais devoir vivre avec ...
la source
PHP,
140129 caractèresMa première partie de golf - pas trop mal pour une langue «standard», hein? :-)
Original:
Raccourci à 129 caractères grâce à @manatwork:
Avec commentaires:
la source
$u+=…
, je suppose que vous avez déjàerror_reporting
par défaut, donc silencieux des avertissements. Retirez ensuite quelques citations:' '.($u<$l?low:upp).ercase
.for
, vous pourriez supprimer les accolades qui l'entourent.for($i=65;$i<91;$u+=$a[$i++])$l+=$a[$i+32];
for
initialisation de la variable de contrôle en bouclant 0..26 au lieu de 65..91:for(;$i<26;$u+=$a[$i+++65])$l+=$a[$i+97];
Rubis, 81 + 1 = 82
Avec drapeau
-p
,Heureusement que pour les nombres entre 0 et 1, le tri lexicographique est le même que le tri numérique.
la source
Lisp commun, 132 octets
Essayez-le en ligne!
la source
Gema, 125 caractères
Exemple d'exécution:
la source
Sérieusement, 58 octets
Vidage hexadécimal:
Il ne fonctionne que sur l'interpréteur téléchargeable ... celui en ligne est toujours en panne.
Explication:
la source
Pyth, 45 octets
Essayez-le en ligne. Suite de tests.
Explication
la source
CoffeeScript, 104 caractères
coffeescript essayait initialement de passer la valeur de retour prévue comme argument à la valeur "r", ce qui a échoué et était super ennuyeux car r était un nombre, pas une fonction. Je l'ai contourné en plaçant un
&&
entre les déclarations pour les séparer.la source
Pyth,
5453Un octet sauvé grâce à @Maltysen
Essayez-le en ligne
la source
,<any><any>
est une commande à deux arités qui est la même que celle[<any><any>)
qui peut vous faire économiser un octetRuby, 97 caractères
Exemple d'exécution:
la source
05AB1E , 28 octets
Essayez-le en ligne!
la source
Java 8,
136130 octets-6 octets créant un port de réponse @ProgramFOX 'C # .NET .
Essayez-le en ligne.
Explication:
la source
REXX, 144 octets
la source
Perl 5
-p
, 72 octetsEssayez-le en ligne!
la source
Kotlin , 138 octets
Code
Usage
la source
Pyth,
4039 octetsEssayez-le ici
Explication
la source
PowerShell Core ,
134128 octetsEssayez-le en ligne!
Merci, Veskah , d'avoir économisé six octets en convertissant la fonction en filtre!
la source
Tcl , 166 octets
Essayez-le en ligne!
la source
APL (NARS), 58 caractères, 116 octets
tester:
la source
C, 120 octets
test et résultat:
résultats
Cela suppose un jeu de caractères Ascii.
la source