Étant donné une grille de 3 x 4 composée de barres verticales, de tirets bas et d'espaces, détermine quel nombre est représenté, ou s'il est brouillé.
Pour commencer, convertis une police binaire simple en une string contenant 0 ou 1.
La police binaire utilise des barres verticales et des tirets bas, sur quatre lignes de haut et trois colonnes de large.
_ #
| | # zero.
|_| #
# the fourth row is always blank
Se convertit en "0"
#
| # one.
| #
# (blank fourth row)
Se convertit en "1"
Si l'entrée est de la bonne taille, mais n'est pas reconnaissable, ton programme doit renvoyer '?'.
Si l'entrée n'est pas de la bonne taille, ton programme doit renvoyer une erreur.
Mets à jour ton programme pour qu'il reconnaisse les strings binaires de plusieurs caractères, en remplaçant les nombres brouillés par ?
Mets à jour ton programme pour qu'il reconnaisse tous les nombres de 0 à 9, à la fois individuellement et au sein d'une string plus grande.
_
_|
|_
Se convertit en "2"
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # decimal numbers.
||_ _| | _||_| ||_| _||_| #
# fourth line is always blank
Se convertit en "1234567890"
Mets à jour ton programme pour qu'il gère plusieurs nombres, un par ligne. Lors de la conversion de plusieurs lignes, joins les lignes avec des virgules.
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
Se convertit en "123,456,789".
Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.