Il s'agit d'un défi concernant les astuces et les optimisations qui peuvent être utilisées lors du golf en Pyth. Les golfeurs Pyth peuvent reconnaître plusieurs des tours impliqués. Cependant, des approches et des constructions inconnues peuvent être impliquées, alors jetez un œil aux conseils Pyth ainsi qu'à la référence de caractère Pyth si vous êtes bloqué. Les solutions peuvent être testées ici .
Objectif: il y a 8 problèmes, chacun avec un extrait Pyth à optimiser. Votre objectif est de créer quelque chose d'équivalent mais de plus court. Les solutions de référence totalisent 80 octets. Votre objectif est de battre autant que possible.
Le gagnant ira à la soumission qui résout les 8 problèmes avec le plus petit nombre total d'octets. Tiebreaker est un post antérieur.
Réponse: Veuillez gâcher votre réponse entière, à l'exception de votre score total. Il est prévu que vous ne regardiez pas les réponses des autres avant de soumettre les vôtres.
Chaque soumission doit répondre à chaque problème et donner le nombre d'octets correspondant, mais n'hésitez pas à utiliser l'implémentation de référence si vous ne pouvez pas l'améliorer.
Détails: Si la question appelle une certaine valeur ou sortie, l' q
égalité est souhaitée, donc 1
et !0
sont équivalentes. Si la question demande de tester si une condition est vraie, la sortie doit être véridique si la condition est vraie et fausse si la condition est fausse, mais elle n'est pas limitée au-delà. Vous ne pouvez pas échanger vrai pour faux et faux pour vrai. Si la question demande que quelque chose soit imprimé, rien d'autre ne peut être imprimé à l'exception d'une nouvelle ligne de fin.
Toutes les réponses doivent être valides pour la validation Pyth la plus récente à compter de la publication de cette question.
Problème 1: Étant donné un ensemble dans Q, affichez une liste contenant les éléments de Q dans n'importe quel ordre.
; 3 bytes
f1Q
Problème 2: affichez la liste [1, 1, 0, 0, 1, 1, 0]
.
; 9 bytes
[J1JZZJJZ
Problème 3: Étant donné un entier positif dans Q, testez si tous les chiffres de Q sont positifs (et non zéro).
; 7 bytes
!f!TjQT
Problème 4: Étant donné une chaîne en z, testez si z contient des guillemets - "
ou '
.
; 9 bytes
|}\'z}\"z
Problème 5: mappez Q = 1 à «Win», Q = 0 à «Tie» et Q = -1 à «Lose».
; 20 bytes
@["Tie""Win""Lose")Q
Problème 6: Imprimer 0123456789
.
; 6 bytes
sm`dUT
Problème 7: Étant donné une chaîne en z, comptez le nombre d'inversions.
(Indexe i
et j
forme une inversion si i < j
mais z[i] > z[j]
).
; 17 bytes
ssmm>@zd@zkrdlzUz
Problème 8: Étant donné une liste en z, comptez le nombre d'éléments adjacents répétés.
; 9 bytes
lfqFT.:z2
f1Q
filtreQ
une fonction qui est toujours vraie, donc elle sort toujours chaque élément de l'ensemble.f
produit une liste qui répond à l'objectif de cette question.