Apakah Anda ingat tikar saya dengan benar dikelompokkan berdasarkan warna ?
Kemarin saya melihatnya dan menyadari bahwa beberapa surat cocok dengan yang lain. Contoh: surat P
pas di tempat surat itu R
pergi. Jadi, inilah tantangan sederhana: diberi dua huruf, kembalikan nilai kebenaran jika ada satu huruf yang pas di dalam yang lain (langsung atau diputar, tetapi tidak terbalik), atau nilai falsey jika tidak. Artinya, jika inputnya adalah [P,R]
atau [R,P]
, Anda harus mengembalikan kebenaran karena dalam kedua kasus satu huruf cocok di dalam yang lain. Jika Anda mendapatkan [L,U]
Anda harus mengembalikan falsey karena tidak cocok di dalam yang lain.
Aturan
- Input harus terdiri dari dua karakter alfanumerik dalam rentang [0-9A-Z], karena ada juga angka dalam mat, dalam bentuk apa pun yang Anda perlukan (dua karakter terpisah sebagai dua input, daftar dengan dua karakter, string dengan karakter 2 karakter, terserah).
- Outputnya harus konsisten (nilai-nilai kebenaran dan falsey harus selalu sama).
Berikut ini adalah tabel kelengkapan (perhatikan bahwa surat selalu pas di tempat yang tepat, kalau-kalau Anda mendapatkan sesuatu seperti
[Y,Y]
input):char fits inside chars -------------------------------------------------------- C G,O F B,E,P,R G O I 0,1,7,B,D,E,F,H,K,L,M,N,O,P,R,T,V,W,X,Z L E M W P R S O V A W M 0 O 1 B,E,L 3 O 6 9,O 8 O 9 6,O
Saya bersumpah bahwa saya telah menguji setiap pemasangan di tikar anak saya. (Keringkan keringatnya dari dahinya.)
Ini adalah kode-golf , jadi semoga kode terpendek untuk setiap bahasa menang!
Beberapa test case
input output
-------------
[C,G] truthy (C fits inside G)
[G,C] truthy (C fits inside G)
[F,R] truthy (F fits inside R)
[M,W] truthy (both fit inside the other)
[O,S] truthy (S fits inside O)
[T,T] truthy (T fits in its place)
[E,V] falsey (no fit found)
[P,L] falsey
Posting kotak pasir . Tolong, maafkan saya jika Anda melihat lebih banyak perlengkapan yang saya lewatkan. Banyak terima kasih kepada Οurous karena membantu saya dengan daftar perlengkapan.
sumber
1
tidak cocokF
?1
agar pas diF
tapi itu tidak diperbolehkan di mataku. :-)Jawaban:
Python 2 ,
135130129 byte-1 byte terima kasih kepada Lynn
Cobalah online!
Python 3 , 143 byte
Cobalah online!
sumber
Retina ,
9392 byteCobalah online! Sunting: Disimpan 1 byte berkat @ovs.
sumber
Bersih ,
276226 byteSamar-samar golf-ish. Akan dipoles besok.
Cobalah online!
sumber
Haskell ,
149145 byteCobalah online!
sumber
Javascript
155 153 151149 byteSaya pikir ini bekerja pada semua kasus, 1/0 untuk true / false.
Penjelasan:
Changelog:
sumber
c
cocokf
atauf
cocokc
? Tampaknya Anda hanya memeriksa satu kasing.f
cocokc
includes(f)
alih-alihindexOf(f)>=0
menyimpan 2 byte.Julia 0,6 , 139 byte
Cobalah online!
Menyimpan beberapa byte dengan mengelompokkan karakter yang sesuai dengan 'O'. Tetapi menguji input terbalik menggunakan terlalu banyak kode ...
Penjelasan:
zip(☐)
ritsleting huruf tunggal yang sesuai dari"OCFILMPV16"
& serangkaian huruf yang cocok..in(☐)
diterapkan secara elemen, misalnya(in(a,'O'),in(b,"OCFILMPV16"))
all(.in(☐))
Keduanya harus ditemukan ...|
untuk salah satua,b
ataub,a
...any(map(☐))
untuk setidaknya satu elemen dari daftar zip.sumber
Kotlin ,
147139 bytesCobalah online!
Contoh di Try It Online mencakup uji kasus untuk setiap kombinasi positif dan beberapa kombinasi negatif.
Saya belum mengoptimalkan reg.ex. terlalu banyak, jadi mungkin lebih lama dari yang diperlukan
EDIT: menyimpan beberapa byte pada reg.ex.
sumber
C (gcc) , 211 byte
Upaya pertama. Sangat lurus ke depan.
Cobalah online!
sumber
PHP , 204 byte
-147 byte karena saya kembali untuk menghapus 2 byte hanya untuk menemukan bahwa kode saya memiliki beberapa bug dan variabel yang tidak digunakan! Kode saya sekarang jauh lebih pendek.
Cobalah online!
sumber
Ruby, 140 byte
Hampir sama dengan jawaban python 3, tetapi dengan eksekusi yang berbeda.
sumber