Skenario
Diberikan input ASCII huruf kecil dan spasi, gambar spiral karakter yang melacak input asli karakter tanpa spasi.
Aturan
1) Karakter akan berputar berlawanan arah jarum jam ke kiri secara lahiriah. Jika belok kiri tidak memungkinkan, maka gerakkan lurus.
Given: abcdefg
Output:
g
baf
cde
2) Karakter dapat berubah menjadi karakter sebelumnya selama aturan # 1 tidak dilanggar. Juga, jika karakter itu berputar ke dalam, maka karakter itu ditulis dengan huruf besar. Setelah karakter ditulis dalam huruf besar, itu akan tetap menjadi huruf besar terlepas dari berapa kali itu digunakan kembali.
Given: apples appeal
Output:
PAs
PLe
ea
abcdefghab
?Jawaban:
JavaScript,
225221212 byte-9 byte berkat Conor O'Brien
Harap perhatikan bahwa kasus teks Anda saling bertentangan. Kasing uji pertama Anda dimulai di tengah spiral. Kasing uji kedua Anda dimulai di tengah atas spiral. Saya pergi dengan test case pertama Anda, karena itu yang pertama saya lihat. Anda belum mengedit pertanyaan Anda lebih dari setahun, maaf atas anggapannya.
Kasus Tes pertama:
Kasus Uji Kedua:
Tanpa kata perpisahan lebih lanjut, ini kode golfnya. Saya 100% yakin bahwa jika komunitas chip ini, ini dapat dipotong secara signifikan. Ini mengembalikan array multiline.
Cuplikan prettification (mencetak string multiline ke konsol). Harap perhatikan perbedaan dalam uji kasus saya # 2 dan uji kasus OP # 2 (lihat di atas jika Anda belum melakukannya):
(jika seseorang yang lebih berpengalaman dengan snippet ingin memperbaikinya menjadi input HTML, silakan mengedit ini, saya harus tidur).
Tidak Disatukan dan Penjelasan
sumber
a.split("")
setara dengan[...a]
;s=>{...;return a;}
setara dengans=>eval("...;a")
(dan;
opsional dalam versi yang kurang golf); semua titik koma diikuti oleh}
adalah opsionalapples appeal
? Saya melihatppa
eas
aLe
, yang pasti tidak benar karena tidak ada dil
sebelahp
s.eppa
apas
lple
s
.