pengantar
Halaman kode memetakan nilai integer ke karakter tertentu. Kami dapat memvisualisasikan halaman kode seperti ini:
+ --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- - - + --- + --- + --- + --- + | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- - - + --- + --- + --- + --- + | 0 | q | w | e | r | t | z | kamu | saya | o | p | a | s | d | f | g | j | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- - - + --- + --- + --- + --- + | 1 | k | aku | y | x | c | v | b | n | m | Q | W | E | R | T | Z | U | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- - - + --- + --- + --- + --- + | 2 | Saya | O | P | A | S | D | F | G | H | J | | | | | | | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- - - + --- + --- + --- + --- +
Baris menentukan digit pertama dan kolom adalah digit kedua dari hex-number.
Tantangan
Diberikan string 16-255 karakter unik, output halaman kode yang sesuai menggunakan indeks berbasis nol dari setiap karakter dalam string sebagai nilainya. Input qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJ
misalnya akan menghasilkan tabel di atas.
- Outputnya harus dalam format yang sama persis seperti tabel di atas. Hanya baris tambahan yang opsional.
- Jika panjang input bukan kelipatan 16, Anda perlu memulai baris baru untuk karakter yang tersisa dan membiarkan sel-sel yang tidak digunakan kosong (= diisi dengan 3 spasi).
- Setiap karakter ditempatkan tepat di tengah sel, diisi oleh satu ruang di sebelah kiri dan kanan.
- Nilai-nilai di baris dan kolom pertama diberikan oleh hex-number dengan digit
0123456789ABCDEF
. Itu empuk dengan satu ruang ke kiri dan kanan juga. Anda dapat memilih untuk menggunakan hex-digit huruf kecil tetapi Anda harus tetap menggunakannya. - Satu-satunya karakter yang ada dalam output adalah tanda hubung
-
, plus+
, pipa|
, spasi, digit untuk angka heksadesimal dan karakter dari input.
- Setiap bawaan yang terkait dengan tabel ASCII-art atau meremehkan masalah dengan cara apa pun dilarang.
- Anda dapat mengasumsikan bahwa input hanya terdiri dari karakter dari pengkodean tertentu. Silakan tentukan jika itu masalahnya.
- Jika bahasa Anda hanya dapat menangani input ASCII, Anda dapat mengasumsikan input ASCII saja dan karakter yang diulang.
Aturan
- Fungsi atau program lengkap diizinkan.
- Aturan default untuk input / output.
- Celah standar berlaku.
- Ini adalah kode-golf , sehingga byte-count terendah akan menang. Tiebreak adalah pengiriman sebelumnya.
Selamat Coding!
Jawaban:
Pyth, 60 byte
Baris baru terkemuka signifikan.
Coba di sini.
sumber
+---+---+---[...]
. Dalam Pyth, fungsi baris baru mencetak dan mengembalikan argumennya.Python 3.5,
326355 byte:( +29 byte karena jika panjang baris terakhir bukan kelipatan 16, sel yang tidak digunakan harus dibiarkan kosong (meskipun, menurut pendapat saya, itu terlihat jauh lebih baik jika sel-sel kosong itu tidak ditunjukkan) )
Bekerja seperti pesona!
Input dan Output Sampel:
Saya harap ini baik-baik saja.
Juga, ini adalah versi lain yang saya buat untuk tantangan ini, yang, walaupun merupakan kandidat yang tidak valid karena tidak mencetak sel kosong tambahan untuk baris terakhir jika panjangnya bukan kelipatan 16, menurut saya menampilkan halaman yang jauh lebih baik. daripada yang dibutuhkan oleh OP, terutama karena ia bahkan tidak menunjukkan sel kosong jika baris terakhir bukan kelipatan 16, tetapi sebaliknya hanya menunjukkan sel yang diisi, dan hanya itu:
Berikut adalah contoh input dan output untuk kode yang tidak dapat diterapkan di atas:
sumber
05AB1E ,
6563 byteKode:
Cobalah online! . Menggunakan pengodean CP-1252 .
sumber
JavaScript (ES6), 148 byte
The
' 0123456789ABCDEF'
ada untuk mengisi kolom pertama, tapi nyaman juga mencakup baris pertama. String input kemudian diisi dengan spasi untuk memungkinkannya untuk dipecah menjadi substring dengan panjang 16, dengan(?|^)
mencegah ruang utama tidak cocok. Sisanya hanya menggabungkan potongan-potongan.sumber
Excel VBA, 157 Bytes (Kecurangan?)
Fungsi Anonymous VBE Immediate Window yang secara destruktif mengambil input dari range
[A1]
dan output keActiveSheet
objek.Golf
Diformat
Input output
Diberikan:
output yang dihasilkan adalah
sumber