Questa è una sfida sui trucchi e le ottimizzazioni che possono essere utilizzati quando si gioca a golf in Pyth. I golfisti di Pyth possono riconoscere molti dei trucchi coinvolti. Tuttavia, possono essere coinvolti approcci e costrutti sconosciuti, quindi dai un'occhiata ai suggerimenti Pyth e al riferimento ai personaggi Pyth se rimani bloccato. Le soluzioni possono essere testate qui .
Obiettivo: ci sono 8 problemi, ognuno con uno snippet Pyth da ottimizzare. Il tuo obiettivo è creare qualcosa di equivalente ma più breve. Le soluzioni di riferimento ammontano a 80 byte. Il tuo obiettivo è quello di batterlo il più possibile.
Il vincitore andrà alla presentazione che risolve tutti gli 8 problemi con il minor numero totale di byte. Tiebreaker è post precedente.
Risposta: si prega di rovinare l'intera risposta, ad eccezione del punteggio totale. È inteso che non guardi le risposte degli altri prima di inviare le tue.
Ogni invio dovrebbe rispondere a tutti i problemi e fornire il conteggio di byte corrispondente, ma sentiti libero di usare l'implementazione di riferimento se non puoi migliorarlo.
Dettagli: se la domanda richiede un determinato valore o output, l' q
uguaglianza è desiderata, quindi 1
e !0
sono equivalenti. Se la domanda richiede di verificare se una condizione è vera, l'output deve essere vero se la condizione è vera e falsa se la condizione è falsa, ma non è vincolata oltre a ciò. Non è possibile scambiare true con false e false con true. Se la domanda richiede che venga stampato qualcosa, nient'altro può essere stampato tranne una nuova riga finale.
Tutte le risposte devono essere valide per il commit Pyth più recente al momento della pubblicazione di questa domanda.
Problema 1: dato un set in Q, genera un elenco contenente gli elementi di Q in qualsiasi ordine.
; 3 bytes
f1Q
Problema 2: output dell'elenco [1, 1, 0, 0, 1, 1, 0]
.
; 9 bytes
[J1JZZJJZ
Problema 3: dato un numero intero positivo in Q, verifica se tutte le cifre di Q sono positive (non zero).
; 7 bytes
!f!TjQT
Problema 4: data una stringa in z, verifica se z contiene virgolette - "
oppure '
.
; 9 bytes
|}\'z}\"z
Problema 5: mappa Q = 1 su "Win", Q = 0 su "Tie" e Q = -1 su "Lose".
; 20 bytes
@["Tie""Win""Lose")Q
Problema 6: stampa 0123456789
.
; 6 bytes
sm`dUT
Problema 7: data una stringa in z, conta il numero di inversioni.
(Indica i
e j
forma un'inversione se i < j
ma z[i] > z[j]
).
; 17 bytes
ssmm>@zd@zkrdlzUz
Problema 8: dato un elenco in z, conta il numero di elementi adiacenti ripetuti.
; 9 bytes
lfqFT.:z2
f1Q
filtraQ
una funzione che è sempre vera, quindi emette sempre ogni elemento dell'insieme.f
produce un elenco, che soddisfa l'obiettivo in quella domanda.