Cuando era niño, solía jugar mucho al juego de cartas " golf " . Su desafío, si elige aceptarlo, es calcular el puntaje de una mano de golf. Como hay más de 9000 variaciones en este juego de cartas 1 , iremos con las reglas que recuerdo haber jugado.
Reglas del juego)
Terminas una ronda con 6 cartas y quieres la menor cantidad de puntos posible.
Los comodines no se usan.
Los ases y los 2 valen -1 y -2 puntos respectivamente.
Jacks y Kings valen 0 puntos.
Las cartas del 3 al 10 valen su valor nominal. Sin embargo, estos se cancelan cuando los empareja. Por ejemplo, un 5 vale 5 puntos, pero dos 5 valen cero. Tres 5 valen 5 puntos (ya que los 2 primeros están emparejados, pero el tercero no.) Y cuatro 5 valen 0 (ya que forman 2 pares).
Las reinas valen 15 puntos. Las reinas no se pueden cancelar, por ejemplo, 2 reinas valen 30 puntos.
Reglas (del desafío)
La entrada será una matriz de enteros, o 6 enteros individuales. Cualquiera que prefiera. 1 representa un as, 2-10 representa 2-10, y Jack, Queen y King representan 11, 12 y 13. La salida es el puntaje de la mano de acuerdo con las reglas anteriores. Puede asumir con seguridad que todas las entradas son válidas, por ejemplo, ningún número aparece más de 4 veces, y todos los números están en el rango [1, 13]
. La entrada y la salida pueden estar en cualquier formato razonable.
Prueba 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 respuesta más corta en bytes gana!
1 no realmente, pero hay una gran cantidad de variaciones.
fuente
0=?
o similar varias veces, ¿puedes usarlo?!
en su lugar?MATL ,
2726 bytesLa entrada es una matriz de columnas, es decir, los valores están separados por punto y coma.
Pruébalo en línea! o verificar todos los casos de prueba (esto se suma un bucle de tomar todas las entradas, y reemplaza
G
por1$0G
empujar última entrada).Explicación
fuente
Pyth -
373635Esto parece demasiado grande, pero FGITW.
Test Suite .
fuente
J
yK
parece totalmente innecesario, y también puedes jugar+_
al golf-
;) Tengo 31:+*15/Q12-sm*d%/Qd2{>#2<#11Qs@S2
+*15/Q12-s*R%/Qd2}3Ts@S2
JavaScript (ES6), 63 bytes
O si lo prefieres
fuente
Perl 5 , 74 +1 (
-a
) = 75 bytesPruébalo en línea!
fuente
Perl 5.10.0 +
-n
,115646056 bytesPruébalo en línea!
Explicación:
Agregando el
-n
bucle a su alrededor:fuente