Tantangan:
Untuk input satu huruf X (huruf besar atau kecil dari A ke Z) dan satu digit N (0-9) cetak huruf X yang sesuai terbuat dari N * X.
Surat itu harus dari daftar ini:
AAA BBBB CCCC DDDD EEEEE FFFFF GGG H H
A A B B C D D E F G H H
AAAAA BBBB C D D EEEE FFFF G GG HHHHH
A A B B C D D E F G G H H
A A BBBB CCCC DDDD EEEEE F GGG H H
IIIII J K K L M M N N OOO
I J K K L MM MM NN N O O
I J KKK L M M M N N N O O
I J J K K L M M N NN O O
IIIII JJJ K K LLLLL M M N N OOO
PPPP QQQ RRRR SSSS TTTTT U U V V W W
P P Q Q R R S T U U V V W W
PPPP Q Q RRRR SSS T U U V V W W
P Q QQ R R S T U U V V W W W
P QQQQ R R SSSS T UUU V W W
X X Y Y ZZZZZ
X X Y Y Z
X Y Z
X X Y Z
X X Y ZZZZZ
Contoh:
input: a 1
keluaran:
AAA
A A
AAAAA
A A
A A
input: A 0
keluaran: A
input: A 2
keluaran:
AAA AAA AAA
A AA AA A
AAAAAAAAAAAAAAA
A AA AA A
A AA AA A
AAA AAA
A A A A
AAAAA AAAAA
A A A A
A A A A
AAA AAA AAA AAA AAA
A AA AA AA AA A
AAAAAAAAAAAAAAAAAAAAAAAAA
A AA AA AA AA A
A AA AA AA AA A
AAA AAA
A A A A
AAAAA AAAAA
A A A A
A A A A
AAA AAA
A A A A
AAAAA AAAAA
A A A A
A A A A
input: A -1
output: apa pun: tidak masalah
Aturan tambahan:
- Parameter input dapat dipisahkan oleh karakter apa pun yang Anda inginkan.
- Setiap huruf harus menggunakan modal sendiri sebagai karakter ascii untuk menggambarnya.
- Ruang tambahan, garis baru dll. Diizinkan
- Alih-alih sebuah program, Anda dapat menulis fungsi yang menggunakan string digit sebagai argumen. Outputnya harus dicetak secara normal.
- Stdout / Stderr tidak masalah, pilih saja. Jika barang-barang dicetak pada yang lain tidak masalah juga.
- Kemungkinan format keluaran dapat dicetak ke STDOUT, dikembalikan sebagai daftar string, dikembalikan sebagai matriks karakter, dll. Asalkan hasilnya dapat dicetak dengan menggunakan metode cetak standar bahasa. *
*: seperti fungsi f (a, 1) mengembalikan string dan seseorang dapat dengan mudah mengatakan print (f (a, 1)) jangan membuat print () memanggil bagian dari jawabannya. (Ini ditunjukkan oleh Kevin Cruijssen dan Arnauld).
Kemenangan:
Ini adalah kode-golf, kemenangan byte-count terendah. Selamat bersenang-senang!
Sunting : pertanyaan ini tampaknya sangat identik dengan ini namun saya akan mengatakan itu tidak, karena seharusnya tidak hanya bekerja untuk H tetapi untuk setiap huruf dari alfabet .. Tebak Anda memutuskan lebih tepatnya atau tidak itu adalah duplikat.
Jawaban:
JavaScript (ES8), 281 byte
Mengambil input sebagai
(letter)(N)
. Mengembalikan string.Cobalah online!
Bagaimana?
Pengkodean font
Pola yang disimpan dicerminkan secara horizontal dan vertikal.
Contoh untuk 'F':
Algoritma utama
Fungsi mengembalikan ruang segera setelah piksel kosong terdeteksi pada kedalaman tertentu, atau karakter yang sesuai dengan huruf input jika semua iterasi berhasil.
sumber
R , 348 byte
Cobalah online!
Menggunakan penyandian yang hampir identik dengan Ouros ' ; Namun, itu tidak membalikkan bit, sebaliknya memilih untuk menggunakannya secara langsung.
Ini kemudian menciptakan matriks bit 5x5 dan membangun matriks Kronecker Power untuk menghasilkan pola yang diperlukan, menulis hasilnya ke stdout.
sumber
Bersih ,
436372 byteSecara signifikan lebih singkat dengan format IO baru.
Cobalah online!
Kompres pola huruf ke dalam bit literal integer untuk menghemat ~ 700 byte. Sebagai contoh,
A
:[[' AAA '],['A A'],['AAAAA'],['A A'],['A A']]
[' AAA A AAAAAAA AA A']
['A AA AAAAAAA A AAA ']
menjadi biner ('A' = 1, ' ' = 0
)0b1000110001111111000101110
menjadi desimal18415150
sumber
R , 259 byte
Cobalah online!
Idenya adalah sebagai berikut:
Diberikan
5 x 26*5
matriks ini dari0/1
:setiap kolom dianggap sebagai angka biner dan dikonversi menjadi bilangan bulat. Bilangan bulat ini kemudian dikonversi ke ASCII yang tidak dapat dicetak dalam kisaran 1 ... 31:
misalnya untuk kolom dari
"B"
string akhir akan"\017\021\017\021\017"
(karakter yang tidak dapat ditulis ditulis dalam representasi oktal):Oleh karena itu, mengingat string
5*26 = 130
karakter terakhir, kami mengonversi string itu kembali ke matriks0/1
menggunakan:maka kita cukup subsect matriks memilih hanya 5 baris pertama (intToBits mengembalikan 32 bit) dan hanya kolom yang sesuai dengan surat yang diteruskan sebagai input dan akhirnya kita menerapkan kronecker seperti yang dijelaskan dalam jawaban @ Giuseppe .
sumber
-48
potongan, dan gunakan!
sebagai penggantiU
: coba online