Ini kode golf. Untuk tantangan ini, saya akan menerima metode (Anda tidak perlu program lengkap), tetapi metode signature tidak dihitung terhadap jumlah byte dan saya ingin melihat tanda tangan penuh (bukan lamdba). Input untuk metode ini adalah array integer dengan 81 elemen. Nilai output / return dari metode adalah string yang mewakili array sebagai papan sudoku ascii.
Jika Anda menggunakan bahasa esoterik atau sesuatu yang sama sekali tidak memiliki metode, Anda dapat beradaptasi, tetapi jika bahasa tersebut mendukung hal ini, saya ingin melihat sesuatu yang mungkin benar-benar dicolokkan ke dalam program ungolfed "nyata", bahkan jika Metode tubuh itu sendiri adalah rasa sakit untuk bekerja dengan. Persyaratan ini tidak dimaksudkan untuk memblokir bahasa seperti Jelly atau 05AB1E, tetapi untuk membuatnya lebih mudah bagi bahasa seperti Java untuk membangun sesuatu yang masuk akal untuk platform itu.
Untuk input, nilai integer 1-9 harus memiliki makna yang jelas. A 0 harus selalu ditafsirkan sebagai sel kosong. Anda juga dapat menafsirkan hal lain di luar rentang 1-9 sebagai sel kosong, tetapi ini tidak wajib. Posisi dari array ke puzzle dimulai di kiri atas dan mengisi setiap baris dari kiri ke kanan sebelum pindah ke baris berikutnya.
Untuk kotak, saya ingin garis ganda di luar dan di antara setiap wilayah 3x3, dan garis tunggal di antara sel lainnya. Ini harus digambar dengan karakter menggambar garis (jika format I / O Anda mewakili string sebagai urutan byte daripada urutan karakter, Anda harus mewakili mereka dalam pengkodean terkenal seperti UTF-8 atau codepage 347).
Untuk tantangan ini, saya TIDAK meminta Anda untuk menghasilkan teka-teki sudoku. Itu adalah input untuk fungsi. Saya TIDAK meminta Anda untuk memecahkan teka-teki. Saya hanya meminta Anda untuk menghasilkan string untuk "menggambar" apa yang Anda berikan (sesedikit mungkin byte).
Input Contoh:
Nilai untuk array:
{ 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}
Nilai-nilai dapat menggunakan mekanisme apa pun yang alami untuk bahasa Anda: int [], ArrayList, urutan, tuple, string digit, apa pun, asalkan Anda memiliki nilai dalam input untuk setiap sel (tidak ada peta untuk hanya sel yang terisi ke posisi ). Ingat bahwa input diberikan ... itu bukan bagian dari jumlah byte Anda. Tapi input mungkin mewakili setiap sudoku puzzle, dan teka-teki bahkan mungkin tidak memiliki solusi yang valid . Anda dapat mengasumsikan bahwa puzzle dapat dicetak. Anda tidak akan mendapatkan sesuatu dengan 82 elemen, misalnya.
Anda juga bisa menganggap font dengan lebar tetap yang masuk akal.
Output yang sesuai:
╔═══╤═══╤═══╦═══╤═══╤═══╦═══╤═══╤═══╗ ║ 8 │ 5 │ ║ │ │ 2 ║ 4 │ │ ║ □ ║ 7 │ 2 │ ║ │ │ ║ │ │ 9 ║ □ ║ │ │ 4 ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ 1 │ │ 7 ║ │ │ 2 ║ □ ║ 3 │ │ 5 ║ │ │ ║ 9 │ │ ║ □ ║ │ 4 │ ║ │ │ ║ │ │ ║ ╠═══╪═══╪═══╬═══╪═══╪═══╬═══╪═══╪═══╣ ║ │ │ ║ │ 8 │ ║ │ 7 │ ║ □ ║ │ 1 │ 7 ║ │ │ ║ │ │ ║ □ ║ │ │ ║ │ 3 │ 6 ║ │ 4 │ ║ ╚═══╧═══╧═══╩═══╧═══╧═══╩═══╧═══╧═══╝