Scenario
Cucino spesso lasagne, ma ho anche qualche errore. Dato che ripeto questi errori così spesso, ho pensato che forse avrei potuto fare un programma che controlla se ho fatto tutto bene.
Lasagne valide
Una lasagna valida è
- Almeno 5 colonne di larghezza
- Almeno 4 strati di altezza
- Escluso il formaggio extra
- Lo strato superiore è il formaggio (rappresentato da
,) - Il secondo strato è salsa (rappresentato da uno
@o da#) - Successivamente gli strati si alternano (1 strato di salsa, 1 strato di noodles (rappresentato da uno
~o-) - Ogni colonna può avere uno o due strati di formaggio
Il programma
Dovrebbero
- accetta una stringa di lasagne come input
- stringa multilinea
- array di stringhe
- la stringa contiene solo i caratteri
,@#~- - Rettangolare
- Imbottito con spazi se necessario
- Uscita se si tratta di una lasagna valida
- Qualsiasi cosa che sia vera nella tua lingua, se valida
- Niente o niente di falso nella tua lingua
- sia
- un programma completo
- una funzione
- che utilizza solo funzionalità implementate prima del 14.12.2016
Casi test
,, ,
,,,,,,
@@@###
~~~~~-
@##@@#
--> truthy
@@@#
----
@@##
----
@###
--> falsy (cause of cheese and width (You don't have to print the stuff in the brackets))
,,,,,
-----
@####
-----
@@@@@
--> falsy (have the sauce as last layer)
Criteri vincenti
Il
- più breve
- in byte
- code-golf
- funzionale
invio vince.
,@#~-fatta eccezione per gli spazi come riempimento, ma il primo caso di test contiene spazi nel mezzo di una linea.