Dados 3 elementos de entrada, una lista de pares de coordenadas, una cadena 2D y una cadena de un solo carácter, muestran si el carácter en cada coordenada de la cadena 2D es igual al carácter único. Puede tomar la entrada en cualquier orden y las coordenadas pueden estar indexadas en 1.
Puede tomar la cadena 2D como una lista 2D, una lista de líneas o una cadena 2D.
Ejemplo: (0,0), "#_\n__", "#" -> True
La cadena es
#_
__
El carácter en la coordenada (0,0)
(desde la parte superior izquierda) es #
. Esto es igual al tercer elemento de entrada #
, por lo que la salida True
(o cualquier valor verdadero)
Ejemplo: [(0,0), (1,1)], "#_\n_#", "#" -> True
La cadena es
#_
_#
Los caracteres en las coordenadas de (0,0)
y (1,1)
son ambos #
, por lo que la salida es verdadera.
El resultado solo es verdadero si cada coordenada coincide con un hash. Sin embargo, no todos los hash deben tener una coordenada coincidente. Si no hay ocurrencias del carácter único ( #
en algunos de los casos de prueba) en la cadena 2D, la salida sigue siendo falsa.
Puede suponer que las coordenadas siempre estarán dentro de los límites de la cadena 2D.
Más casos de prueba: (pongo el único carácter en segundo lugar para facilitar la lectura)
[(0,0), (2,1), (3,0)], #
#_##
#_##
True
[(0,0), (1,1), (3,0)], #
#_##
#_##
False (1,1 is not a hash)
[(1,1)], a
#a##
#a##
True
[(4, 0), (3, 0), (2, 0), (1, 0), (0, 0), (0, 1), (0, 2), (0, 3), (1, 3), (2, 3), (2, 2), (3, 2), (4, 2), (4, 3)], ' '
####
#
#
True
Tenga en cuenta que el último caso de prueba utiliza espacios como la cadena de caracteres única y hash alrededor de los espacios.
Relacionado. (inverso de este desafío)
(row, column)
pero en el último ejemplo, las coordenadas están en el formato (column, row)
.