Temukan X
Saya terinspirasi oleh pertanyaan matematika di mana seseorang diminta untuk "Cari X" untuk bentuk yang diberikan. Awalnya, saya hanya akan mendapat tantangan untuk mencetak lokasi x dan y dari karakter 'x' dalam sebuah String. Tapi saya kira itu terlalu sederhana. Jadi saya mempertimbangkan konteks mereka biasanya, dan memutuskan menemukan panjang Garis di sebelah x sepertinya cocok.
Diberikan input string yang berisi Diagram 'garis' ascii serta karakter 'x' tunggal dan berpotensi sampah, cetak panjang satu-satunya garis yang memiliki 'x' yang berbatasan langsung dengannya.
Contohnya
Memasukkan:
|
|
|x
|
|
Ouput:
5
Memasukkan:
|\
| \x
| \
|___\
Keluaran:
4
Memasukkan:
Diagram of a Wobbly Line:
IRRELEVANTTEXT____
____ ____/
\___/ X ;)
x
Keluaran:
3
Memasukkan:
______________
/ ____________ \
|/ __________ \|
||/ ________ \||
|||/ ______ \|||
||||/ \||||
|||||/ x |||||
|||||\_____/||||
||||\_______/|||
|||\_________/||
||\___________/|
\_____________/
Keluaran:
5
Catatan
- Karakter baris yang valid adalah
\/_|
\
menghubungkan kiri atas dan kanan bawah itu sendiri./
menghubungkan kanan atas dan kiri bawah itu sendiri._
menghubungkan kiri dan kanan itu sendiri|
menghubungkan bagian atas dan bawah dari dirinya sendiri- Garis akan selalu lurus, dan hanya terdiri dari salah satu karakter garis yang diulang n kali.
- X akan selalu huruf kecil, dan itu akan selalu menjadi satu-satunya dalam diagram.
- Adjecent mengacu pada x yang persis satu karakter di atas, di bawah, atau di samping.
- X akan selalu berada di sebelah tepat satu Baris.
- Tab tidak akan pernah muncul di input.
- Input dan Output dapat berupa format apa pun yang dapat diterima.
- Ini Golf Code, jadi Kode Terpendek Menang!
- SELAMAT BERSENANG-SENANG. LAKUKAN. NIKMATI DIRI.
@
jawaban stress-test.Jawaban:
JavaScript (ES6),
165, 155 byteEDIT: Inline x dan w , untuk menyimpan beberapa byte lagi.
Golf (menganggap input diisi dengan spasi untuk membuat persegi panjang)
Diperluas
Uji
Contoh hasil (jika Anda menjalankan ini di konsol Alat Pengembang Google Chrome)
sumber
Python 3,
428408385378 byteBekerja, tetapi memiliki banyak potensi untuk bermain golf. Saya agak berkarat.
Asumsikan input diisi dengan spasi untuk membuat persegi panjang.
EDIT: Terima kasih kepada @Artyer untuk penghematan 23 byte!
EDIT2: Wow saya benar-benar melewatkan penghematan 6 byte. Disimpan 1 lebih banyak dengan menukar sisi cek yang sama.
Versi yang diperluas dengan penjelasan:
sumber
<!-- language-all: lang-py -->
untuk penyorotan sintaksis.*i,=map(list,inputtt.split('\n'))
(*i,
membuati
daftar alih-alih peta) (-6 byte lebih banyak)Lua, 480 Bytes
Lua, Menjadi Bahasa Verbose, tidak mengalahkan Python Answer. Tapi itu tidak perlu.
Mirip dengan implementasi referensi saya, tetapi benar-benar mencoba golf, dan melakukan beberapa hal sedikit lebih pintar dari sebelumnya. Masih mungkin bisa bermain golf sedikit lebih baik.
Dengan komentar.
sumber
JavaScript (ES6), 175
Asumsikan input diisi dengan spasi untuk membuat persegi panjang.
Kurang golf
Uji Titik, bukan spasi untuk kejelasan
sumber