Pertanyaan ini ditulis karena "Penjelasan Hal" menyenangkan untuk dibaca, dan memberi saya ide.
Tulis "hal-hal yang membuat komputer melakukan hal-hal" yang membaca / mengambil set huruf, angka dan hal-hal seperti ini "#%|?
dan kembali True / 1
jika semua kata adalah bagian dari set ini .
Jika semua kata bukan bagian dari set itu, kembalikan kata-kata yang bukan bagian dari set itu.
Situs web ini dapat dianggap benar dalam semua kasus. Aturan ditulis untuk mengikuti spesifikasi di situs itu.
Contoh:
Benar :
Kode harus mengembalikan nilai kebenaran jika seluruh teks di atas garis horizontal pertama disisipkan sebagai input.
Baris berikut harus mengembalikan nilai kebenaran (input dipisahkan oleh ###
)
This returns "Hello, World!"
###
tHiS rEtUrNs TrUe...
###
Thing Explainer is a book written by a man.
The man writes books with simple words.
###
This set of stuff "#!^{>7( must return true
Falsey :
Dalam contoh berikut, input dan output dipisahkan oleh ***
. Kasus uji yang berbeda dipisahkan oleh ###
.
This code doesn't return "Hello, World!"
***
code
###
tHiS rEtUrN"s false...
***
s
false
Aturan lebih rinci:
- Anda dapat menggunakan ini untuk menguji kode Anda.
- Non-huruf ditafsirkan sebagai spasi oleh kode, kecuali untuk kata-kata seperti
'wasn't'
. Kata-kata dengan apostrof yang mengembalikantrue
dimasukkan dalam daftar- Misalnya:
foo123bar
harus kembalifoo
danbar
, karena mereka bukan bagian dari daftar, dan123
dapat diartikan sebagai spasi
- Misalnya:
- Input hanya akan berisi poin kode ASCII yang dapat dicetak [10, 32-126].
- Kata-kata dapat berisi huruf campuran. Lihat uji kasus kedua.
- Daftar kata-kata
- harus diambil sebagai input (STDIN, argumen fungsi atau yang setara)
- dapat dimodifikasi (kata-kata dapat dipisahkan dengan baris baru, koma dll., dan Anda dapat mengurutkan daftar)
- Perhatikan bahwa Anda tidak dapat menggunakan daftar ini (tidak identik)
- Outputnya bisa dalam format apa pun yang Anda suka
- Outputnya dapat berupa huruf besar, kecil atau campuran (opsional)
- Tidak akan ada simbol dalam output
Sebagai catatan, Jonathan Allan menemukan kasus sudut yang aneh: implementasi pada XKCD akan benar-benar mengabaikan huruf setelah apostrof hingga non- [AZ] [az] ['] - misalnya find's found
, dan find'qazxswedc found'
keduanya tidak find'qazx.swedc found
menghasilkan apa-apa, sedangkan pengembalian swedc
.
Anda dapat memilih jika Anda tidak ingin mengembalikan apa pun find'qazxswedc found'
, atau kembali qazxswedc
. Kembali qazx, swedc
untuk find'qazx.swedc
juga OK.
sumber
Boolean
atauArray<String>
, apakah mengembalikan array / daftar kosong diizinkan?1
. Output kosong tidak diizinkan.find'qazxswedc
input. Apakah kita atau tidak seharusnya kita berpisah pada apostrof? Misalnya,isn't
mengembalikantrue
(ada dalam daftar), tetapiisn
kembaliisn
, karena itu tidak ada dalam daftar. Dari logika itu, saya pergi dengan "jangan berpisah pada apostrof" danfind'qazxswedc found
kembalifind'qazxswedc
.Jawaban:
PowerShell v3 +,
10592 byteMengambil kata-kata sederhana seperti
$a
, dan kata-kata seperti$b
. Membuat pembantu$x
. Ambil setiap kata$b
dan singkirkan huruf-huruf tidak buruk, lalu periksa masing-masing|{...}
. Jika kata itu tidak ada$a
, maka kami menambahkannya$x
. Pada akhirnya, kita memilih$x
atau1
tidak$x
. Itu dikirim, baikwords
atau1
.Beberapa kata untuk dicoba
sumber
Python, 93 byte
Semua test case ada di ideone
Memproses ulang daftar adalah dengan membagi
|
dan memasukkannya ke dalamset
(yang saya bayangkan baik-baik saja jika pre-sorting diperbolehkan). Masukkan kata sebagaiw
dan atur sebagais
.Jika itu tidak diizinkan, ini menjadi 98 byte dengan
not in s
menjadinot in set(s)
.Kita dapat memprosesnya untuk memiliki semua permutasi karakter huruf besar dan kecil juga dan menyimpan 8 byte, tapi saya pikir itu mungkin terlalu jauh (itu akan menjadi set besar).
sumber