Enfant, je jouais le jeu de cartes « golf » beaucoup. Votre défi, si vous l'acceptez, est de calculer le score d'une main de golf. Puisqu'il y a plus de 9000 variations sur ce jeu de cartes 1 , nous suivrons les règles dont je me souviens avoir joué.
Règles du jeu)
Vous terminez un tour avec 6 cartes et vous voulez le moins de points possible.
Les jokers ne sont pas utilisés.
Les as et les 2 valent respectivement -1 et -2 points.
Jacks et Kings valent tous les deux 0 points.
Les cartes de 3 à 10 valent leur valeur nominale. Cependant, ceux-ci sont annulés lorsque vous les associez. Par exemple, un 5 vaut 5 points, mais deux 5 valent zéro. Trois 5 valent 5 points (puisque les 2 premiers sont appariés, mais pas le 3e) et quatre 5 valent 0 (car cela fait 2 paires).
Les reines valent 15 points. Les reines ne peuvent pas être annulées, par exemple 2 reines valent 30 points.
Règles (du défi)
L'entrée sera un tableau d'entiers, ou 6 entiers individuels. Celui que vous préférez. 1 représente un as, 2-10 représente 2-10, et Jack, Queen et King représentent 11, 12 et 13. La sortie est le score de la main selon les règles ci-dessus. Vous pouvez supposer en toute sécurité que toutes les entrées sont valides, par exemple aucun numéro n'apparaît plus de 4 fois, et tous les nombres sont dans la plage [1, 13]
. L'entrée et la sortie peuvent être dans n'importe quel format raisonnable.
Test IO:
[11, 10, 3, 1, 2, 2] --> 8
[4, 5, 5, 3, 8, 7] --> 22
[2, 2, 2, 2, 1, 1] --> -10 (The lowest score possible)
[12, 12, 12, 12, 10, 9] --> 79 (The highest score possible)
[9, 9, 9, 9, 11, 1] --> -1
[8, 8, 8, 8, 11, 13] --> 0
[10, 9, 3, 7, 12, 2] --> 42
[1, 2, 3, 4, 5, 6] --> 15
[10, 9, 2, 3, 4, 1] --> 23
[10, 3, 12, 3, 7, 12] --> 47
La réponse la plus courte en octets gagne!
1 pas vraiment, mais il y a beaucoup de variations.
la source
0=?
ou similaire plusieurs fois - pouvez-vous utiliser à la?!
place?MATL ,
2726 octetsL'entrée est un tableau de colonnes, c'est-à-dire que les valeurs sont séparées par des points-virgules.
Essayez-le en ligne! ou vérifiez tous les cas de test (cela ajoute une boucle pour prendre toutes les entrées et remplace
G
par1$0G
pour pousser la dernière entrée).Explication
la source
Pyth -
373635Cela semble beaucoup trop grand, mais FGITW.
Suite de tests .
la source
J
etK
semblent totalement inutiles, et vous pouvez également+_
-
+*15/Q12-sm*d%/Qd2{>#2<#11Qs@S2
+*15/Q12-s*R%/Qd2}3Ts@S2
JavaScript (ES6), 63 octets
Ou si vous préférez,
la source
Perl 5 , 74 +1 (
-a
) = 75 octetsEssayez-le en ligne!
la source
Perl 5.10.0 +
-n
,115646056 octetsEssayez-le en ligne!
Explication:
Ajout de la
-n
boucle autour d'elle:la source