Anda harus menulis program atau fungsi yang menerima blok karakter yang direpresentasikan sebagai string dan menghasilkan atau mengembalikan string yang serupa di mana huruf-huruf yang berdekatan dalam alfabet terhubung.
Sebuah contoh visual (dalam bentuk input => output
):
b d b d
|\ /|
| \ / |
=> | X |
| / \ |
e |/ \e
c a c a
Detail
- Input akan berupa string yang berisi spasi, baris baru, dan tepat satu dari masing-masing
N
huruf kecil pertama .1 <= N <= 26
- Garis-garis input akan diisi dengan spasi yang menciptakan blok persegi panjang penuh.
- Setiap pasangan huruf yang berdekatan dalam alfabet akan berada pada baris, kolom atau garis diagonal yang sama dan harus dihubungkan dengan garis ascii lurus menggunakan
\ / | or -
. (Garis mungkin memiliki panjang 0.) Jenis tumpang tindih dua baris berikut ini harus ditangani:
/ and \ become X | and - become + / and / become / \ and \ become \ | and | become | - and - become - [letter] and [anything] become [letter]
Tidak ada jenis tumpang tindih dua garis lainnya yang akan terjadi.
- Jika lebih dari dua garis tumpang tindih, pasangan mana pun dari mereka akan dijamin menjadi salah satu dari tumpang tindih yang valid. (mis.
[letter] / |
triplet tidak akan pernah terjadi) - Selain mengubah ruang menjadi
\ / | - X and +
input dan output harus identik. - Mengejar baris baru adalah opsional tetapi harus sama untuk input dan output.
- Ini adalah kode-golf sehingga entri terpendek menang.
Contohnya
Memasukkan:
b d
h gi
e f
c a
Keluaran:
b d
|\ /|
| \ / |
| X h+--gi
| / \ | |
|/ \e--f
c a
Memasukkan:
dk j
b l
c fg
a m
i h
e
Keluaran:
dk----j
/|| /
b / |l /
|X | \/
c \ fg/\
\|/\ \
a \ m
/| \
i-+----h
e
Memasukkan:
eti sqjh k p u cfm vb owgzyx rnd la
Keluaran:
eti--sqjh-k--p--u--cfm-vb-owgzyx-rnd-la
Memasukkan:
a
Keluaran:
a
/
dan-
tumpang tindih yang tidak validX
dan+
(/ \ - and |
) tidak dapat terjadi pada posisi yang sama.Jawaban:
Perl, 219
Beberapa perbaikan masih mungkin dilakukan.
Coba saya .
sumber
JavaScript (ES6) 246
266 280 285 307Cukup besar ...
Fungsi dengan param parameter dan mengembalikan string yang dimodifikasi. Baris tambahan tambahan opsional kecuali inputnya hanya 1 baris (Saya perlu baris baru untuk menemukan baris len)
Hanya untuk membuat seseorang bahagia
Lebih mudah dibaca
Uji di Firefox / konsol FireBug
Keluaran
sumber
341
karakter.