Viajar con dispositivos electrónicos siempre es divertido, especialmente cuando necesita un adaptador para cargarlos. Su desafío es hacer que la planificación de un viaje sea un poco más fácil al verificar si un enchufe dado será compatible con un enchufe dado.
Desafío
Dado un tipo de enchufe y un tipo de socket, devuelve un valor que indica si funcionarán juntos o no.
Tabla de compatibilidad
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
Las tablas muestran la misma información, solo transpuesta.
Entrada
La entrada se dará como dos letras mayúsculas o dos minúsculas (usted elige).
Las entradas siempre serán
/[A-O]/
(o/[a-o]/
), no hay necesidad de manejar entradas no válidas.Puede aceptar las dos entradas en cualquier orden (especifique cuál).
La entrada se puede tomar en cualquier formato razonable (cadena, stdin, matriz, ...).
Si toma ambas entradas en una sola cadena, pueden estar separadas por no más de un carácter y no debe haber nada alrededor de ellas.
Buenas entradas:
"G,K"
,"EF"
,"a b"
,['l', 'o']
Insumos malas:
"K l"
,"f(O)(I)"
,[1,5]
Salida
La salida se puede devolver en cualquier formato razonable .
De salida debe ser o bien
truthy
/falsy
o uno de los 2 valores constantesBuenas salidas:
false
/any positive number
,1
/2
,'T'
/'F'
Salidas malas:
an even number
/an odd number
,1
/more than 1
Ejemplos
Usando el formato socket
, plug
=> true
/ false
.
A, A => true
I, K => false
O, C => true
C, O => false
E, F => true
F, E => true
Las lagunas estándar no están permitidas.
Este es el código de golf, por lo que gana la respuesta con la menor cantidad de bytes en cada idioma.
fuente
Respuestas:
Retina 0.8.2 ,
3029 bytesPruébalo en línea! El enlace incluye casos de prueba.
fuente
Python 3 , 76 bytes
Pruébalo en línea!
Créditos
fuente
lambda s,p:any([s==p,p in"CEF"and s in"DEFHKO",s=="B"<p,s in"JLN"and"C"==p])
por 76 bytes?Python 3 ,
72 bytes73 bytes70 bytesPruébalo en línea!
Editar: ¡Gracias a Chas Brown por cortar algo de grasa!
fuente
q=
puede omitirse ya que la función es anónima. Además, hay un espacio extra. 70 bytes. Pruébalo en línea.C (gcc) (arquitectura x86),
7660 bytes¡Muchas gracias a Arnauld por los cambios!
Los argumentos se dan en orden (plug, socket).
Pruébalo en línea!
fuente
1<<~-b
.L"\6\0\xdd78\0襰襰"
lugar de{6,0,56696,0,35184,35184}
Haskell, 67 bytes
Los argumentos para funcionar
#
son dos caracteres, primero el enchufe, segundo el zócalo.Pruébalo en línea!
fuente
JavaScript (Node.js) , 79 bytes
Se invoca en función al curry,
f(socket)(plug)
.Pruébalo en línea! (incluye casos de prueba, que muestran una matriz de resultados).
fuente
Jalea , 31 bytes
Un enlace monádico que acepta una lista de caracteres
[plug,socket]
que produce1
si es compatible o0
no.Pruébalo en línea! O vea un conjunto de pruebas (que separa las dos clases).
fuente
PHP , 81 bytes
Para ejecutarlo:
Ejemplo:
O Pruébelo en línea!
Notas:
error_reporting=0
opción se utiliza para no generar advertencias.¿Cómo?
Cada enchufe es compatible con el mismo enchufe que él mismo. Hay cuatro enchufes especiales (A, C, E, F) que también son compatibles con algunos enchufes más. Se definen cuatro variables de cadena con el nombre de los enchufes especiales para contener la lista de sus sockets adicionales compatibles.
Se verifica si el conector de entrada y el conector son iguales o si el conector está en la lista de conectores compatibles para ese conector. La última verificación se realiza con la ayuda de variables variables de PHP .
fuente
Javascript ES6,
666564 caracteresToma mayúsculas en
p
el enchufe ys
para el zócalo, devoluciones Falsy (0
) o Truthy (1
,2
,4
, ...,8192
) valor.Prueba:
fuente
ERR_CONNECTION_RESET
https
? ¿Funcionan otros enlaces TIO?R ,
132 129113 bytesPruébalo en línea!
Construye la siguiente matriz y extrae
m[S,P]
=> 1 si es VERDADERO, de lo contrario 0.Se guardaron 3 bytes al comprimir índices usando
intToUtf8
y reemplazando esta función con!
. Ver Historia para una versión más legible.¡Ahorré 16 bytes gracias a @Giuseppe!
fuente
t=
enrep
?Pascal (FPC) , 113 bytes
Pruébalo en línea!
Prueba de todos los valores
Siguiendo el
DEFHKO
tren ...pos(string1,string2)
comprueba la primera aparición destring1
instring2
y devuelve su posición en él o 0 si no existe.fuente