Este es un desafío sobre los trucos y optimizaciones que se pueden usar al jugar golf en Pyth. Los golfistas de Pyth pueden reconocer muchos de los trucos involucrados. Sin embargo, pueden estar involucrados enfoques y construcciones desconocidas, así que eche un vistazo a los Consejos de Pyth , así como a la Referencia del personaje de Pyth si se queda atascado. Las soluciones se pueden probar aquí .
Objetivo: hay 8 problemas, cada uno con un fragmento de Pyth para que lo optimices. Tu objetivo es crear algo equivalente pero más corto. Las soluciones de referencia totalizan 80 bytes. Tu objetivo es superar eso lo más posible.
El ganador irá al envío que resuelve los 8 problemas con el menor número total de bytes. Tiebreaker es una publicación anterior.
Respuesta: Por favor, estropee toda su respuesta, excepto su puntaje total. Se pretende que no mire las respuestas de otras personas antes de enviar las suyas.
Cada envío debe responder a cada problema y dar el recuento de bytes correspondiente, pero puede usar la implementación de referencia si no puede mejorarla.
Detalles: si la pregunta requiere un cierto valor o salida, q
se desea igualdad, por lo tanto, 1
y !0
son equivalentes. Si la pregunta requiere probar si una condición es verdadera, la salida debe ser verdadera si la condición es verdadera y falsa si la condición es falsa, pero no tiene restricciones más allá de eso. No puede intercambiar verdadero por falso y falso por verdadero. Si la pregunta requiere que se imprima algo, no se puede imprimir nada más excepto una nueva línea final.
Todas las respuestas deben ser válidas para la confirmación Pyth más reciente a partir de la publicación de esta pregunta.
Problema 1: dado un conjunto en Q, genera una lista que contiene los elementos de Q en cualquier orden.
; 3 bytes
f1Q
Problema 2: muestra la lista [1, 1, 0, 0, 1, 1, 0]
.
; 9 bytes
[J1JZZJJZ
Problema 3: dado un entero positivo en Q, pruebe si todos los dígitos de Q son positivos (no cero).
; 7 bytes
!f!TjQT
Problema 4: dada una cadena en z, pruebe si z contiene comillas - "
o '
.
; 9 bytes
|}\'z}\"z
Problema 5: Asigne Q = 1 a 'Win', Q = 0 a 'Tie' y Q = -1 a 'Lose'.
; 20 bytes
@["Tie""Win""Lose")Q
Problema 6: Imprimir 0123456789
.
; 6 bytes
sm`dUT
Problema 7: Dada una cadena en z, cuente el número de inversiones.
(Índices i
y j
forman una inversión si i < j
pero z[i] > z[j]
).
; 17 bytes
ssmm>@zd@zkrdlzUz
Problema 8: Dada una lista en z, cuente el número de elementos adyacentes repetidos.
; 9 bytes
lfqFT.:z2
f1Q
filtraQ
una función que siempre es verdadera, por lo que siempre genera cada elemento del conjuntof
genera una lista que cumple el objetivo en esa pregunta.Respuestas:
52 bytes
fuente
54 bytes
fuente
""
es Falso porquenot ""
es Verdadero.58 bytes
fuente
V
(aunque todavía no lo entiendo completamente, ya que estás haciendo operaciones vectoriales en operandos de longitud desigual), así que estoy excusado por eso, pero realmente debería haber pensado enC\f
= /V
trunca automáticamente las entradas desigualesEsta publicación es para la acumulación de las mejores soluciones en todas las respuestas. Edite en la solución y al respondedor que primero encontró esa solución si hay alguna mejora.
48 bytes
fuente
57 bytes
fuente
te\\st
es un falso positivo.