Dans le jeu Yahtzee , les joueurs lancent cinq dés à six faces et tentent de créer certaines mains pour marquer des points. Une telle main est une petite ligne droite : quatre numéros consécutifs, pas nécessairement dans l’ordre. Les trois petites lignes droites possibles 1, 2, 3, 4
, 2, 3, 4, 5
et 3, 4, 5, 6
.
Par exemple, [3, 5, 6, 1, 4]
contient la petite ligne droite [3, 4, 5, 6]
.
Contribution
Une liste non triée de cinq nombres entiers, chacun compris entre 1 et 6 inclus, représentant une main de Yahtzee.
Sortie
Une valeur de vérité si la main contient une petite ligne droite et une valeur de fausseté sinon.
Cas de test
Vérité
[[1, 2, 3, 3, 4], [1, 2, 3, 4, 5], [3, 5, 6, 1, 4], [1, 5, 3, 4, 6], [4, 5, 2, 3, 5], [1, 4, 3, 2, 2], [5, 4, 3, 6, 3], [5, 3, 5, 4, 6], [2, 4, 5, 1, 3], [3, 6, 4, 5, 3], [5, 6, 4, 3, 5], [4, 5, 3, 6, 3], [4, 5, 5, 3, 2], [4, 5, 2, 3, 5], [4, 6, 5, 3, 6], [4, 2, 3, 1, 5], [3, 6, 4, 6, 5], [5, 2, 1, 3, 4], [4, 4, 1, 2, 3], [4, 1, 4, 2, 3], [5, 1, 4, 3, 6], [5, 2, 2, 3, 4], [4, 4, 6, 5, 3], [2, 4, 3, 5, 1], [5, 4, 2, 5, 3], [2, 3, 5, 5, 4], [1, 6, 3, 4, 5], [4, 5, 3, 3, 6], [6, 4, 3, 6, 5], [4, 6, 6, 5, 3], [4, 3, 5, 2, 2], [2, 3, 2, 1, 4], [4, 2, 6, 1, 3], [4, 4, 5, 3, 6], [4, 5, 6, 3, 6]]
Fausseté:
[[1, 2, 3, 5, 6], [5, 1, 1, 6, 6], [4, 6, 4, 1, 1], [6, 4, 1, 6, 4], [4, 6, 3, 6, 6], [2, 1, 4, 6, 4], [2, 6, 1, 5, 6], [2, 6, 1, 5, 6], [3, 6, 5, 3, 2], [3, 2, 3, 5, 3], [5, 5, 6, 2, 3], [3, 4, 6, 4, 3], [1, 4, 5, 5, 1], [1, 4, 4, 4, 1], [1, 6, 5, 1, 4], [6, 6, 4, 5, 4], [5, 3, 3, 3, 2], [5, 2, 1, 5, 3], [3, 5, 1, 6, 2], [6, 4, 2, 1, 2], [1, 3, 1, 3, 2], [3, 1, 3, 4, 3], [4, 3, 1, 6, 3], [4, 6, 3, 3, 6], [3, 6, 3, 6, 4], [1, 1, 3, 1, 3], [5, 5, 1, 3, 2], [3, 4, 2, 6, 6], [5, 4, 2, 6, 1], [2, 4, 4, 5, 4], [3, 6, 2, 5, 5], [2, 5, 3, 5, 1], [3, 2, 2, 3, 4], [5, 2, 2, 6, 2], [5, 6, 2, 5, 6]]
Inspiré par cela
Catalogue
var QUESTION_ID=74997;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=30525;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var aB=a.size,bB=b.size;return aB-bB});var languages={};var place=1;var lastSize=null;var lastPlace=1;valid.forEach(function(a){if(a.size!=lastSize)lastPlace=place;lastSize=a.size;++place;var answer=jQuery("#answer-template").html();answer=answer.replace("{{PLACE}}",lastPlace+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link);answer=jQuery(answer);jQuery("#answers").append(answer);var lang=a.language;lang=jQuery('<a>'+lang+'</a>').text();languages[lang]=languages[lang]||{lang:a.language,lang_raw:lang.toLowerCase(),user:a.user,size:a.size,link:a.link}});var langs=[];for(var lang in languages)if(languages.hasOwnProperty(lang))langs.push(languages[lang]);langs.sort(function(a,b){if(a.lang_raw>b.lang_raw)return 1;if(a.lang_raw<b.lang_raw)return-1;return 0});for(var i=0;i<langs.length;++i){var language=jQuery("#language-template").html();var lang=langs[i];language=language.replace("{{LANGUAGE}}",lang.lang).replace("{{NAME}}",lang.user).replace("{{SIZE}}",lang.size).replace("{{LINK}}",lang.link);language=jQuery(language);jQuery("#languages").append(language)}}
body{text-align:left!important}#answer-list{padding:10px;width:290px;float:left}#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table>
code-golf
number
array-manipulation
game
decision-problem
lirtosiast
la source
la source
[1,2,3,3,4]
. Beaucoup de réponses meurent à cause de cela.Réponses:
MATL ,
71211986 octetsMerci beaucoup à @lirtosiast pour la suppression de 2 octets
La vérité est un tableau de valeurs non nulles. Falsy est un tableau vide (aucune sortie affichée).
A partir de la version 16.2.0,
u
est stable par défaut. Le code nécessite donc un extraS
pour trier la sortie:uSd7BXf
( 7 octets ). Le lien inclut cette modification.Essayez-le en ligne!
la source
Python, 44 octets
De retour après 9 mois avec une amélioration. Nous n'avons pas besoin de vérifier si
i
est dans le jeu avec l'idée de Zgarb de vérifier uniquement les valeurs de départ dans le jeu. Nous pouvons maintenant également utiliser<
pour des sous-ensembles stricts, car ilsi
doivent également être inclus.47 octets:
Vérifie si un résultat au dé est le début d'une petite série de quilles. Merci à Zgarb pour l’idée de ne vérifier que les valeurs de départ dans la liste, en économisant 5 octets.
Python 3.5 a une conversion d'ensemble plus courte, pour 45 octets
C'est la même longueur à faire
{*range(i,i+4)}
comme{i,i+1,i+2,i+3}
.la source
Labyrinthe, 41 octets
Une réponse en collaboration avec @ MartinBüttner. Je pense que nous avons réduit celui-ci bien au-delà de mes attentes initiales.
La sortie est
1
pour la vérité, vide pour la fausseté. Essayez-le en ligne!Explication rapide
Convertit chaque nombre
n
en un entier binaire 1 suivi den+1
zéros, c.-à-d2^(n+1)
. Ou binaire OU les résultats et vérifier1111
(en binaire). L'exponentiation doit être implémentée manuellement dans Labyrinth.Explication détaillée
L'amorce habituelle:
n
et poussentn*10 + <digit>
. Pour commencer un nouveau numéro,_
appuie sur zéro.Installer
L'exécution commence en haut à gauche, le pointeur d'instruction étant orienté vers la droite. Nous exécutons:
Mis à part le fait de pousser efficacement les zéros, ces instructions ne changent pas la pile.
Boucle gauche: exponenti et bitwise OU
Labyrinth n'a pas d'exponentiation, nous devons donc l'implémenter manuellement. Nous lisons d’abord un entier avec
?
, et comme cela est garanti, nous tournons à droite._1
pousse 1 et nous entrons dans la boucle intérieure.La boucle interne a les effets suivants:
Étant donné que c'est un do-while, pour l' entrée
n
ce calcule2^(n+1)
. Nous finissons avec l'entrée mise à zéro sur la pile et30
transformons ce zéro en 30. Nous effectuons ensuite les mêmes instructions à partir de l'installation, mais cette fois-ci, elles sont réellement utiles.Cette boucle continue pour chaque numéro de l'entrée jusqu'à EOF, quand
?
renvoie 0. Cela nous oblige à avancer au lieu de tourner, conduisant à ...Bridge: une configuration supplémentaire
La
30
suite?
tourne le 0 de EOF en 30, qui est poussé vers la pile auxiliaire via}
. Le fait que nous ayons poussé un 30 dans la pile auxiliaire pour chaque nombre saisi est donc important. La pile auxiliaire contient donc des5 + 1 = 6
copies du nombre 30 .Pendant ce temps, la pile principale contient le OU bit à bit de
2^(n+1)
pour chaque entréen
. Appelons cela OU au niveau du bitb
, car il est modifié dans la bonne boucle.Boucle de droite: résultat de contrôle et sortie
Voici ce qui se passe dans la boucle de droite:
Maintenant, la résiliation est un peu délicate avec ce programme. Voici les différentes manières de terminer le programme:
Après 3 itérations de la boucle de droite, et
b
est toujours positif: rappelez - vous comment nous avons mis six 30 dans la pile auxiliaire? Comme nous en utilisons deux à chaque itération, à la quatrième itération, nous commençons à tirer des zéros au bas de la pile auxiliaire. Cela provoque une division par zéro lorsque nous le faisons{/
et le programme se termine.Après avoir généré un 1 pour une petite suite : Nous avons donc exécuté
!
puis tourné à droite à la"
jonction sans issue. Ensuite, nous allons faire des montagnes russes et commencer à ramper à nouveau dans la moitié gauche:Après quelques allers-retours dans l'exposant, la pile ressemble à une pile ressemblant à une
[12 | 30 30]
division par zéro après deux autres itérations dans la boucle de droite.:
boucle dans la droite est à une jonction. Si l'entrée était, disons,1 1 1 1 1
alors,b
serait4
, alors2
, puis1
,0
après la troisième itération. Au lieu de tourner à la:
, l'adresse IP avance maintenant tout droit, et quelque chose comme le cas précédent provoque éventuellement une résiliation.Dans l’ensemble, le programme s’arrête, mais il n’ya rien pour sauver ces quelques octets!
la source
Mathematica,
394344313944 octetsla source
Haskell,
39 à34 octetsExemple d'utilisation:
f [1,2,3,3,4]
->True
.Similaire à la réponse de @ xnor , c’est-à-dire vérifier si l’une des petites lignes droites se trouve dans la liste de saisie. En fait, je teste toutes les "petites lignes droites" (c'est-à-dire 4 numéros consécutifs) en commençant par l'un des nombres de la liste de saisie, certaines d'entre elles étant invalides et par conséquent échouant toujours le
all
test et ne faussant pas leany
test, par exemple[5,6,7,8]
.Edit: @Zgarb a enregistré 5 octets. Merci!
la source
MATL, 11 octets
Essayez-le en ligne
la source
JavaScript (ES6),
5553 octetsretourne
true
pour la vérité etfalse
pour la fausseté.Comment ça marche
Retourne si une valeur dans [0, 1, 2, 3] remplit la condition selon laquelle pour chaque valeur dans [0, 1, 2, 3], la somme de ces deux valeurs est dans le tableau en entrée.
Donc, retourne si le tableau a toutes les valeurs dans [0, 1, 2, 3] (impossible), [1, 2, 3, 4], [2, 3, 4, 5] ou [3, 4, 5 , 6].
la source
Ruby, 31 ans
Au lieu d'essayer d'être intelligent comme la première réponse Ruby , ceci passe simplement par le tableau des nombres entiers et, pour chaque nombre entier, vérifie s'il existe une petite suite dans l'entrée commençant par ce nombre entier. Ne vous inquiétez pas des valeurs possibles ou de l'unicité.
Cela semble utiliser le même algorithme que la réponse de Sherlock .
la source
Ruby,
585550474333 octetsJe viens de voir que j'ai été battu à coups de poing par la réponse Ruby de Paul . Je ne suis toutefois pas découragé, car je pense que cela pourrait encore être une bonne réponse avec un peu plus de golf. Basé, en partie, sur la réponse Python de xnor .
Edit: Quelques parties de golf et correction d’une confusion dans les conditions ternaires.
Edit: J'utilise maintenant
.any?
comme Pas que Charles fait dans leur réponse Ruby mais uniquement parce que j'avais besoin d'un moyen simple de supprimera
et de renvoyer uniquement une vérité et une falsey avec!([*i..i+3]-l)[0]
depuis.map
renverrait un tableau detrue
etfalse
.Retourne soit
true
oufalse
.Ungolfed:
Remarque importante: pour ceux qui souhaitent utiliser le
(a2 - a1).empty?
code afin de déterminer si tous les élémentsa2
sonta1
présents, notez que si vous souhaitez vous assurer que, par exemple, il[2,1,2]
existe[1,2,3,3]
une multiplicité d'éléments, vous avez besoin d'un autre code. Discussion pertinente sur ce problème ici .la source
0
vérité est dans Ruby, je pense que votre réponse est invalide.p
est une valeur de fausseté à un caractère.Japt,
1312 octetsTestez-le en ligne! ou Vérifiez tous les cas de test .
Comment ça marche
la source
Perl,
474342393729 octetsInclut +1 pour
-p
Exécuter avec la séquence sur STDIN, par exemple
smallstraight.pl
:Explication
la source
CJam,
161512 octetsDonne une chaîne non vide pour les cas de test de véracité et une chaîne vide pour les cas de fausseté.
Suite de tests.
Explication
À la fin du programme, cette liste est aplatie en une seule chaîne et imprimée sur STDOUT. Si l'une des petites lignes droites était trouvée, leurs éléments restants seraient dans la chaîne. Sinon, toutes les listes étaient vides et la chaîne est également vide.
la source
[0 1 2 3]
cela coûterait 2 octets.05AB1E ,
9810 octetsLa vérité contient un tableau dans la sortie, la fausseté consiste à ne produire aucune sortie. Code:
Explication obsolète :
Essayez-le en ligne!
Utilise le codage CP-1252 .
la source
Javascript ES6 47 octets
Javascript ES6 52 octets
Ancienne réponse
Javascript ES6 64 octets
merci à ETHproductions pour avoir aidé à économiser plusieurs octets
Essai
la source
t=(t>4)?t:1
.q=>q.sort().map(o=>(o-s?o-s<2?t++:t=t>4?t:1:0,s=o),t=1,s=9)|t>3
Cette version revient1
pour la vérité et0
pour la fausseté.C #,
156151150131121939290 octetsou: (même nombre d'octets)
Ungolfed:
Big Edit: Je viens juste de réaliser que je n'ai besoin que de poster une fonction, pas tout un programme. Cela économise beaucoup. Pas de passe-partout, pas besoin de convertir les entrées de chaîne en nombres, etc. Nous approchons maintenant d'un nombre respectable d'octets (pour un langage ne faisant pas le golf de toute façon).
la source
main
en C #, vous devez retourner soit,void
soitint
). Malheureusement, j’ai également gagné 2 octets, car j’attendais 0-5 au lieu de 1-6. Donc perte nette de 1 octet de toute façon.Ruby - 80 -> 79 -> 76 -> 54 -> 48 -> 40 octets
Cinquième essai (40 octets):
Utilise la syntaxe lambda pour définir la fonction. (Merci à Ruby golfer @ Sherlock9 pour cette idée.)
Pour tester en utilisant l'appel lambda:
Quatrième essai:
Remplacé nul? et la négation avec l'opérateur ===.
Troisième essai:
Utilise l'expression régulière.
Deuxième essai:
La nouvelle approche utilise dedup (uniq), trier et rejoindre, plus include? pour rechercher une correspondance de toutes les solutions dans l'entrée rendue sous forme de chaîne.
Premier essai: 79 octets
Testeur:
Utilise déduplication (fonction uniq) et intersection définie (& opérateur) pour vérifier si l’une des bonnes séquences correspond à la séquence donnée. Pas de tri nécessaire.
la source
Pyth,
13112 octets grâce à Jakube!
Retourne une liste non vide pour la vérité, une liste vide pour la fausseté.
Essayez-le en ligne ou exécutez la suite de tests (divisée par une erreur de syntaxe pour Readability ™).
la source
.PQ4
au lieu de.:{SQ4
PHP, 95 octets
Vue éclatée Appel d'entrée / fonction Sortiela source
Sérieusement, 21 octets
Essayez-le en ligne!
Renvoie une valeur positive pour true et un 0 pour false.
Explication:
la source
PARI / GP , 71 octets
Cela peut probablement être joué plus loin, mais pour commencer:
Je ne vois pas un moyen de réduire la duplication sans utiliser plus d'espace; cette version est de 75 octets:
la source
Retina ,
7054 octetsL'entrée est une chaîne unique d'entiers comme
13342
. La sortie est un1
si trouvé, ou un0
si non.Notez que la suppression des doublons ne doit avoir lieu qu'une seule fois, car il n'y a que cinq nombres. Avoir besoin de supprimer plus d'un chiffre signifierait qu'il n'y a pas une petite suite de toute façon.
Essayez-le en ligne
Merci à Martin pour l’idée de déplacer les virgules à l’intérieur des groupes de capture, en économisant 16 octets.
la source
. $*x Replace numbers with n x's, where n is the number.
+` Repeat the following until the string stabilizes
(x+(x+,))\2 $2$1 Replace n*xm*x,m*x, with m*x,n*xm*x
(x+,)\1 $1 Replace x*n,x*n, with x*n,
(x+,)x\1xx\1xxx\1 Match n*x,xn*x,xxn*x,xxxn*x
Mise à jourPyth, 11 octets
Suite de tests
Générez la longueur de 4 sous-chaînes de [1..6], puis filtrez-les sans qu'il ne reste d'éléments lorsque les éléments de l'entrée sont supprimés.
la source
Gelée, 9 octets
Il doit y avoir une solution de 8 octets, poursuivra la recherche ... Code:
C'est la même chose que ma solution 05AB1E .
Explication:
Essayez-le en ligne!
la source
Œ!I=1ZS3e
...[1, 2, 1, 2, 1]
, et votre autre ne répond malheureusement pas. Mon alternative semble fonctionner (mais je me suis déjà trompée auparavant ... testez-la aussi :)), n'hésitez pas à l'utiliser.Gelée, 8 octets
Essayez-le en ligne! ou vérifier les cas de test de vérité et les cas de test de fausseté .
Comment ça marche
la source
Scala,
76706160 octetsTesteur:
la source
Javascript ES6 43 octets
// n'arrivait pas à faire fonctionner ça: /
Ceci prend le nombre 62 (111110 en binaire). Pour chaque nombre dans le tableau d’entrée, il supprime ce bit.
Le nombre obtenu doit être soit
donc je vérifie si le résultat est inférieur à 7 (0000111) ou égal à 32 (100000)la source
[3, 4, 5, 4, 3]
. Je pense que vous devez utiliser 126 au lieu de 62 ...TI-BASIC, 25 octets
Une expression Python équivalente (non-golfée) que vous pouvez tester :
L'idée derrière ceci est la divisibilité. Pour vérifier si un
1, 2, 3, 4
,2, 3, 4, 5
ou3, 4, 5, 6
se produit, nous pouvons mapper les nombres 1-6 à 37-42, puis multiplier les bons numéros ensemble.Chacun des nombres de [37,42] a un facteur primordial qui manque aux autres nombres.
Par conséquent, si le produit des cinq nombres est divisible par 37, la liste initiale contenait un 1. Si, par 19, elle contenait un 2; etc. Si elle est divisible par
37*19*13*5
=65*703
, il contient1
,2
,3
et4
de même pour les deux autres numéros.Cette solution est une amélioration par rapport à celle que @Weregoose a publiée en 2009.
la source
Oreillons,
11378 octetsLa version de Mumps que j'utilise est le cache InterSystems.
Je ne peux pas penser à une façon de jouer au golf cette technique plus courte; avec une technique différente, cela pourrait être possible, mais pour l’instant, ça ira et au moins, c’est plus court que C ++ ... mais pas beaucoup. En tous cas...OK, voici un moyen plus court. Au lieu d'avoir 3 variables distinctes pour les séries courtes, utilisez une seule variable pour tous les 6 'dés' et extrayez les portions plus tard:
tant pis pour moi de ne pas trouver un meilleur moyen avec la même technique ... Je devrais regarder avant de sauter, hein? ;-)
Je laisserai ma réponse originale ci-dessous à des fins historiques ...
et voici l'explication de ce qui se passe avec le code:
Je n'ai pas testé chaque entrée vérité et fausseté, car cela impliquait de les taper manuellement toutes; mais j’ai testé environ la première moitié de chacune d’entre elles, vérifié que les longues lignes droites montraient toujours la vérité et que plusieurs des manches notées ne fonctionnaient pas nécessairement correctement ([4,2,5,3,4], [1,2,3,3 , 4] etc.) et semble fonctionner correctement.
la source
Dyalog APL , 15 octets
{∨/∧/⍵∊⍨⍵∘.+⍳4}
les usages
⎕IO=0
⍳4
est0 1 2 3
⍵∘.+⍳4
est 5 × 4 une matrice de chaque matrice incrémentée de chacun des⍳4
⍵∊⍨
vérifie si les éléments de la matrice sont dans la main, le résultat est une matrice booléenne (0 ou 1), nous devons trouver une ligne de tous les 1∧/
est l'and-reduction by rows, le résultat est un vecteur booléen∨/
est l'ou-réduction de ce vecteurla source
Gelée, 11
Essayez-le en ligne!
Ceci est à peu près une copie de ma réponse Pyth, essayant juste de comprendre comment enchaîner des choses. On se sent comme il devrait être golfable.
Expansion:
Si vous souhaitez poser des questions difficiles, comme par exemple en quoi les séparateurs sont différents, ma réponse est: "je répondrai dans 6 à 8 semaines": P (Plus sérieusement, je pense que c'est le filtrage par motif, monad-dyad vs nilad-dyad, mais je ne sais pas et je ne veux pas répandre la désinformation.)
la source
Q Unique elements
Ṣ sort the list
ṡ4 all slices of length 4
ðf filter by {
6R range form 1 to 6
ṡ4 all slices of length 4 from that
Q
est avec les opérateurs overdot majuscules dans la documentation. Peut-être que c'était une overdot une fois?