Dados três itens de entrada, uma lista de pares de coordenadas, uma sequência 2D e uma sequência de caracteres únicos, indica se o caractere em cada coordenada da sequência 2D é igual ao caractere único. Você pode receber a entrada em qualquer ordem e as coordenadas podem ser indexadas 1.
Você pode considerar a sequência 2D como uma lista 2D, uma lista de linhas ou uma sequência 2D.
Exemplo: (0,0), "#_\n__", "#" -> True
A string é
#_
__
O caractere na coordenada (0,0)
(do canto superior esquerdo) é #
. Isso é igual ao terceiro item de entrada #
; portanto, você produz True
(ou qualquer valor verdadeiro)
Exemplo: [(0,0), (1,1)], "#_\n_#", "#" -> True
A string é
#_
_#
Os caracteres nas coordenadas de (0,0)
e (1,1)
são ambos #
, portanto a saída é verdadeira.
A saída é verdadeira apenas se todas as coordenadas corresponderem a um hash. Porém, nem todo hash precisa ter uma coordenada correspondente. Se não houver ocorrências do caractere único ( #
em alguns casos de teste) na sequência 2D, a saída ainda será apenas falsa.
Você pode assumir que as coordenadas estarão sempre dentro dos limites da sequência 2D.
Mais casos de teste: (coloquei o único caractere em segundo para facilitar a legibilidade)
[(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
Observe que o último caso de teste usa espaços como a única cadeia de caracteres e faz um hash ao redor dos espaços.
Relacionado. (inverso deste desafio)
(row, column)
mas no último exemplo, as coordenadas estão no formato (column, row)
.