Data una stringa 2D come input, o come stringa con newline o un elenco di linee, genera le coordinate (x, y)
di tutti gli hash ( #
) nell'elenco. L'input conterrà solo hash e spazi. (e newline, se si sceglie di accettare input come stringa 2D)
Se non ci sono hash, puoi produrre qualsiasi cosa.
L'output dovrebbe essere inequivocabile su quali numeri sono associati a quali.
Esempio:
##
Dovrebbe produrre:
(0,0), (1,0)
Ciò presuppone l'indicizzazione basata su 0, a partire dall'angolo in alto a sinistra. È possibile iniziare da qualsiasi angolo, utilizzare l'indicizzazione basata su 0 o 1 e / o y
prima l' output . (ad es. nel modulo y,x
).
Altri casi di test (di nuovo, tutti usando l' (x, y)
indicizzazione in alto a sinistra basata su 0 ):
#
#####
#
(4, 0), (0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (0, 2)
# ###
### #
(0, 0), (2, 0), (3, 0), (4, 0), (0, 1), (1, 1), (2, 1), (4, 1)
Si noti che questi casi di test sono tutti elencati per righe, non seguendo il percorso.
Puoi supporre che gli hash formino una scia continua, cioè # #
che non sarà mai l'input. (probabilmente non importerà, ma nel caso qualcuno voglia regex questo)
È inoltre possibile generare le coordinate nell'ordine desiderato, ad esempio colonne verticali, righe orizzontali o solo un elenco non ordinato.