C'est le golf de code. Pour ce défi, j'accepterai une méthode (vous n'avez pas besoin d'un programme complet), mais la signature de la méthode compte pour le nombre d'octets et je veux voir la signature complète (pas un lamdba). L'entrée de la méthode est un tableau d'entiers avec 81 éléments. La valeur de sortie / retour de la méthode est une chaîne qui représente le tableau comme une carte ascii sudoku.
Si vous utilisez un langage ésotérique ou quelque chose qui n'a absolument pas de méthodes, vous pouvez vous adapter, mais si le langage le supporte du tout, je veux voir quelque chose pourrait en fait être connecté à un "vrai" programme non golfé, même si le méthode corps lui-même est une douleur à travailler avec. Cette exigence n'est pas destinée à bloquer des langages tels que Jelly ou 05AB1E, mais à faciliter la création par des langages comme Java de quelque chose de logique pour cette plate-forme.
Pour l'entrée, les valeurs entières 1-9 doivent avoir des significations évidentes. Un 0 doit toujours être interprété comme une cellule vide. Vous pouvez également interpréter toute autre chose en dehors de la plage 1-9 comme une cellule vide, mais cela n'est pas obligatoire. Le positionnement du tableau au puzzle commence en haut à gauche et remplit chaque ligne de gauche à droite avant de passer à la ligne suivante.
Pour les boîtes, je veux des lignes doubles autour de l'extérieur et entre chaque région 3x3, et des lignes simples entre les autres cellules. Ceux-ci doivent être dessinés avec des caractères de dessin au trait (si votre format d'E / S représente des chaînes comme une séquence d'octets plutôt qu'une séquence de caractères, vous devez les représenter dans un codage bien connu tel que UTF-8 ou la page de code 347).
Pour ce défi, je ne vous demande PAS de générer le puzzle sudoku. C'est l'entrée pour la fonction. Je ne vous demande PAS de résoudre le puzzle. Je vous demande juste de produire une chaîne pour "dessiner" ce qui vous est donné (en aussi peu d'octets que possible).
Exemple d'entrée:
Valeurs du tableau:
{ 8, 5, 0, 0, 0, 2, 4, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 2, 3, 0, 5, 0, 0, 0, 9, 0, 0 ,0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 7, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 4, 0}
Les valeurs peuvent utiliser n'importe quel mécanisme naturel pour votre langage: int [], ArrayList, séquence, tuple, chaîne de chiffres, peu importe, tant que vous avez une valeur en entrée pour chaque cellule (pas de mappage uniquement pour les cellules remplies aux positions) ). N'oubliez pas que l'entrée est fournie ... elle ne fait pas partie de votre nombre d'octets. Mais l'entrée peut représenter n'importe quel puzzle sudoku, et le puzzle peut même ne pas avoir de solution valide . Vous devez supposer que le puzzle est imprimable. Vous n'obtiendrez pas quelque chose avec 82 éléments, par exemple.
Vous pouvez également assumer une police à largeur fixe raisonnable.
Sortie correspondante:
╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗ ║ 8 │ 5 │ ║ │ │ 2 ║ 4 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 7 │ 2 │ ║ │ │ ║ │ │ 9 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ │ 4 ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ 1 │ │ 7 ║ │ │ 2 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 3 │ │ 5 ║ │ │ ║ 9 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ 4 │ ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ │ 8 │ ║ │ 7 │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ 1 │ 7 ║ │ │ ║ │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ │ ║ │ 3 │ 6 ║ │ 4 │ ║ ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝