Bepergian dengan barang elektronik selalu menyenangkan, terutama ketika Anda membutuhkan adaptor untuk mengisinya. Tantangan Anda adalah membuat perencanaan perjalanan sedikit lebih mudah dengan memeriksa apakah colokan yang diberikan akan kompatibel dengan soket yang diberikan.
Tantangan
Diberi jenis steker dan jenis soket, kembalikan nilai yang menunjukkan apakah mereka akan bekerja bersama atau tidak.
Tabel kompatibilitas
Socket Accepted plugs | Plug Accepting Sockets
A A | A A, B
B A, B | B B
C C | C C, D, E, F, H, J, K, L, N, O
D C, D, E, F | D D
E C, E, F | E D, E, F, H, K, O
F C, E, F | F D, E, F, H, K, O
G G | G G
H C, E, F, H | H H
I I | I I
J C, J | J J
K C, E, F, K | K K
L C, L | L L
M M | M M
N C, N | N N
O C, E, F, O | O O
Tabel menunjukkan informasi yang sama, hanya dialihkan.
Memasukkan
Input akan diberikan sebagai dua huruf besar atau dua huruf kecil (Anda pilih).
Input akan selalu
/[A-O]/
(atau/[a-o]/
), tidak perlu menangani input yang tidak valid.Anda dapat menerima dua input dalam urutan apa pun (harap tentukan yang mana).
Input dapat diambil dalam format apa pun yang wajar (string, stdin, array, ...).
Jika Anda mengambil kedua input dalam satu string, mereka dapat dipisahkan oleh tidak lebih dari satu karakter dan pasti tidak ada yang mengelilinginya
Baik input:
"G,K"
,"EF"
,"a b"
,['l', 'o']
Bad masukan:
"K l"
,"f(O)(I)"
,[1,5]
Keluaran
Output dapat dikembalikan dalam format yang masuk akal .
Output harus berupa
truthy
/falsy
atau salah satu dari 2 nilai konstanOutput bagus:
false
/any positive number
,1
/2
,'T'
/'F'
Output buruk:
an even number
/an odd number
,1
/more than 1
Contohnya
Menggunakan format socket
, plug
=> true
/ false
.
A, A => true
I, K => false
O, C => true
C, O => false
E, F => true
F, E => true
Celah standar tidak diijinkan.
Ini adalah kode-golf sehingga jawabannya dengan byte paling sedikit di setiap bahasa menang.
sumber
Jawaban:
Retina 0.8.2 ,
3029 byteCobalah online! Tautan termasuk kasus uji.
sumber
Python 3 , 76 byte
Cobalah online!
Kredit:
sumber
lambda s,p:any([s==p,p in"CEF"and s in"DEFHKO",s=="B"<p,s in"JLN"and"C"==p])
untuk 76 byte?Python 3 ,
72 Bytes,73 byte,70 byteCobalah online!
Sunting: Terima kasih kepada Chas Brown untuk memotong sedikit lemak!
sumber
q=
dapat dihilangkan karena fungsi ini anonim. Juga, ada ruang ekstra. 70 byte Cobalah online.C (gcc) (arsitektur x86),
7660 byteTerima kasih banyak kepada Arnauld untuk perubahannya!
Argumen diberikan dalam urutan (steker, soket).
Cobalah online!
sumber
1<<~-b
.L"\6\0\xdd78\0襰襰"
daripada{6,0,56696,0,35184,35184}
Haskell, 67 byte
Argumen berfungsi
#
adalah dua karakter, colok dulu, soket kedua.Cobalah online!
sumber
JavaScript (Node.js) , 79 byte
Dipanggil sebagai fungsi kari
f(socket)(plug)
,.Cobalah online! (termasuk testcases, menunjukkan matriks hasil.)
sumber
Jelly , 31 byte
Tautan monadik yang menerima daftar karakter
[plug,socket]
yang menghasilkan1
jika kompatibel atau0
jika tidak.Cobalah online! Atau lihat test-suite (yang memisahkan dua kelas).
sumber
PHP , 81 byte
Untuk menjalankannya:
Contoh:
Atau Coba online!
Catatan:
error_reporting=0
opsi ini digunakan untuk tidak menampilkan peringatan.Bagaimana?
Setiap colokan kompatibel dengan soket yang sama. Ada empat colokan khusus (A, C, E, F) yang kompatibel dengan beberapa soket lainnya. Empat variabel string dengan nama colokan khusus didefinisikan untuk menampung daftar soket ekstra yang kompatibel.
Diperiksa apakah colokan dan soket input sama atau jika soket ada dalam daftar soket yang kompatibel untuk steker itu. Pemeriksaan terakhir dilakukan dengan bantuan variabel variabel PHP .
sumber
Javascript ES6,
666564 karakterMembawa huruf modal ke
p
plug dans
untuk socket, pengembalian falsy (0
) atau truthy (1
,2
,4
, ...,8192
) nilai.Uji:
sumber
ERR_CONNECTION_RESET
https
? Apakah tautan TIO lain berfungsi? Saya mencoba di mac (chrome dan safari) dan android dan berfungsi dengan baik ...R ,
132 129113 byteCobalah online!
Buat matriks berikut dan ekstrak
m[S,P]
=> 1 jika BENAR, kalau tidak 0.Disimpan 3 byte dengan mengompresi indeks menggunakan
intToUtf8
dan mengganti fungsi ini dengan!
. Lihat Sejarah untuk versi yang lebih mudah dibaca.Disimpan 16 byte berkat @Giuseppe!
sumber
t=
direp
?Pascal (FPC) , 113 byte
Cobalah online!
Uji semua nilai
Mengikuti
DEFHKO
kereta ...pos(string1,string2)
memeriksa kemunculan pertamastring1
instring2
dan mengembalikan posisinya di dalamnya atau 0 jika tidak ada.sumber