Szenario
Ich koche oft Lasagne, habe aber auch ein paar Fehler. Da ich diese Fehler so oft wiederhole, dachte ich, ich könnte vielleicht ein Programm machen, das prüft, ob ich alles richtig gemacht habe.
Gültige Lasagne
Eine gültige Lasagne ist
- Mindestens 5 Spalten breit
- Mindestens 4 Lagen hoch
- Ohne zusätzlichen Käse
- Die oberste Schicht ist Käse (dargestellt durch
,
) - Die zweite Schicht ist Sauce (dargestellt durch entweder
@
oder#
) - Danach wechseln sich die Schichten ab (1 Schicht Sauce, 1 Schicht Nudeln (dargestellt durch entweder
~
oder-
)) - Jede Säule kann entweder eine oder zwei Käseschichten haben
Das Programm
Sollte
- Nehmen Sie eine Lasagne-Zeichenfolge als Eingabe
- mehrzeilige Zeichenfolge
- String-Array
- Die Zeichenfolge enthält nur die Zeichen
,@#~-
- Rechteckig
- Bei Bedarf mit Leerzeichen aufgefüllt
- Gibt aus, ob es sich um eine gültige Lasagne handelt
- Alles, was in Ihrer Sprache zutreffend ist, wenn es gültig ist
- Nichts oder nichts, was in deiner Sprache falsch ist
- sei entweder
- ein volles Programm
- eine Funktion
- Das nutzt nur Funktionen, die vor dem 14.12.2016 implementiert wurden
Testfälle
,, ,
,,,,,,
@@@###
~~~~~-
@##@@#
--> 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)
Gewinnkriterien
Das
- kürzeste
- in Bytes
- Code-Golf
- funktionell
Einreichung gewinnt.
,@#~-
mit Ausnahme von Leerzeichen als Auffüllung möglich ist, der erste Testfall jedoch Leerzeichen in der Mitte einer Zeile enthält.