Bienvenue au premier de ce que je prévois être une série de défis JMP réguliers! Pour la plupart, ces défis se concentreront sur le langage de script JMP (JSL), mais de temps en temps, je vais glisser quelque chose qui peut être une biche sans script.
Le ou vers le premier de chaque mois, j'espère vous proposer un problème qui mettra à l'épreuve vos capacités JMP. Chaque défi cherchera à mettre l'accent sur certaines compétences de programmation et de données orientées telles qu'elles s'appliquent à JMP. J'aimerais encourager tout le monde, quel que soit votre niveau de compétence, à essayer. Au cours de ma carrière, j'ai appris davantage en essayant de faire ce qui me semblait impénétrable, au-delà de mes compétences, en trouvant une solution, puis en apprenant (ou en découvrant) une meilleure façon de faire les choses.
Avec chaque nouveau message, j'appellerai les meilleurs interprètes du défi précédent et partagerai leurs solutions avec d'autres solutions intéressantes. Je vais parler de ce qui, selon moi, a rendu le défi précédent difficile, et essayer d'offrir un peu de sagesse.
Au fil du temps, je garderai une trace des meilleurs interprètes. Le défi sera ouvert à tous, mais je garderai les entrées du personnel séparées des autres. Comme vous pouvez vous y attendre, nous avons quelques sonneries chez JMP.
Les règles sont simples:
- Tout doit être fait complètement JMP , sans invoquer aucune application en dehors de JMP telle que SAS, R ou Python, ni utiliser des sources externes d'informations supplémentaires.
- Un script doit terminer sa tâche dans un délai raisonnable, comme spécifié dans le défi.
- Il doit fonctionner sur Catalina ou Windows 10.
- Bien que je préfère utiliser JMP 15 , Je suis prêt à envisager de le tester sur JMP 14. Si c'est votre préférence, vous devez me le faire savoir dans votre entrée.
- Postez vos entrées sur le blog. Je dois recevoir votre inscription finale avant 23 h 59, heure de l'Est, le jour de la date limite. Je ne considérerai qu'une seule inscription par personne.
Des points seront attribués chaque mois aux scripts les plus performants en fonction de critères appropriés au défi. Pendant que le défi se poursuit, je modérerai la section des commentaires pour éviter que des indices, des indices, des soumissions, etc. ne sortent par inadvertance. Je vous informerai lorsque je recevrai votre candidature.
JSL Challenge 1
J'adore un bon puzzle de mots. Ce défi est inspiré de Spelling Bee dans le New York Times. Dans ce document, vous devez créer des mots à partir d'une liste de sept lettres à condition que l'une des lettres soit toujours utilisée. Les autres lettres peuvent être utilisées une fois, plusieurs fois ou pas du tout. Je modifie les conditions pour rendre les choses un peu plus compliquées.
Étant donné sept lettres, trouvez:
- Le mot le plus long utilisant les sept lettres et uniquement ces sept lettres. Les lettres peuvent être utilisées plus d'une fois.
- Le mot le plus long utilisant les sept lettres et toutes les autres lettres.
- Le mot le plus long utilisant les sept lettres et toutes les autres lettres où aucune lettre de l'ensemble de sept n'est utilisée plus d'une fois.
- Mot le plus long dans lequel apparaît 5 des 7 lettres. Toute lettre incluant celles en dehors du 7 peut apparaître une ou plusieurs fois à l'exception des deux lettres inutilisées de la liste des 7, qui peuvent ne pas apparaître du tout.
Pour les quatre éléments, il se peut qu'aucun mot ne réponde aux critères ou plusieurs mots. Les scripts doivent accepter une liste de sept chaînes de caractères alphabétiques en minuscules (az) qui seront stockées dans une variable globale nommée letterSetList . Par exemple, si le premier élément de la liste est "abcdefl", les réponses seraient:
- "defaceable"
- "inconfortabilité"
- "fibrochondrosteal"
- "formaldéhydesulfoxylate" et "scientifique et philosophique"
Tous les scripts seront testés sur les mêmes trois ensembles de sept lettres. Tous les mots seront extraits du dictionnaire affiché ci-dessous. Veuillez y accéder en tant que table de données JMP lorsque votre script s'exécute. Écrivez tous les mots dans le journal. Assurez-vous d'inclure le numéro d'article dans la sortie. Vous aurez un délai de cinq minutes au total. Les inscriptions doivent être reçues avant 23 h 59, heure de l'Est, le mercredi 15 avril.
Notation: Deux points pour chaque solution correcte. Deux points supplémentaires pour résoudre les quatre. Les trois scripts les plus rapides (temps total pour répondre correctement aux quatre points) recevront 6, 3 et 1 points. Deux points pour tout script qui peut produire la bonne réponse qui est la moitié ou moins de la deuxième plus courte des trois solutions les plus rapides (nombre total de caractères non blancs et sans commentaires). Trois points si votre script s'exécute aussi vite ou plus vite que le jeûne soumis par un membre du personnel.
Bonne chance!