Ich entschuldige mich für die Worthaftigkeit. Wir hatten Spaß damit bei der Arbeit in unserem internen Golfspiel, aber es waren einige E-Mails zur Klärung erforderlich, und ich hoffe, dass ich das meiste davon beim ersten Mal erfasst habe.
PROBLEM
Geben Sie bei einem „simulierten“ Schneefall-Schnappschuss (als Zeichenfolge, Standardwert oder Parameter für Ihre Funktion / Methode) 4 Werte an: Minimaltiefe, Maximaltiefe, durchschnittliche Tiefe und Dauer.
Hier ist ein formatiertes Beispiel, um die Eingabe zu veranschaulichen:
* * **
** * ***
** * *
*
--------
Das '*' ist eine Schneeflocke und das '-' ist der Boden. Stellen Sie sich all diese „Schneeflocken“ vor, die auf den Boden fallen. Dies ist der letzte "Schnappschuss":
*
*
** * **
********
--------
Sie müssen berichten über:
- Minimale Tiefe - Zähle den kürzesten „Stapel“ (1, im obigen Beispiel)
- Maximale Tiefe - Zähle den höchsten "Stapel" (4, im obigen Beispiel)
- Durchschnittliche Tiefe - durchschnittliche Anzahl aller „Pfähle“ (1,9, im obigen Beispiel - auf Zehntel gerundet)
- Dauer - (jeder "Fall" = 1 Sekunde) - Zeit vom ersten bis zum letzten Schnappschuss (3 Sekunden, im obigen Beispiel)
Ein weiteres Beispiel als Referenz:
*
* *
*
*
--------
Letzter Schnappschuss:
* * ***
--------
EINGANG
Der Start-Snapshot hat 8 Zeilen und 8 Spalten und ist durch Pipes getrennt (die Pipes trennen die Zeilen). Zum Beispiel (ohne Anführungszeichen):
“ | | | | * | * *| * |* |--------”
AUSGABE
Die 4 Werte werden in einer einzelnen Zeile durch Pipe getrennt: 0 | 1 | .6 | 3 oder 0 | 5 | 1 | 1
Antworten:
Perl, 128 Zeichen
quelle
Python, 153 Zeichen
quelle
Windows PowerShell, 180
189Eingang kommt als
$s
.Geschichte:
quelle
Ein paar andere Sprachen ergeben sich aus unserem internen Golfspiel:
C #, 188 Zeichen (leicht lesbar)
Ruby, 173 Zeichen
quelle
PHP, 139 Bytes
Zählen Sie für jede Spalte Nr. von Schneeflocken und nein. von Leerzeichen unter der ersten Schneeflocke, dann
nimmt berechne String als Argument von der Kommandozeile
Pannen- und Golfschritte
füge
round(...,1)
herumarray_sum($n)/8
zum Runden (+9)quelle
Mathematica , ~ 115
In diesem Beitrag musste ich auf die maskierte Zeichenfolge zurückgreifen,
\n
da beim Einfügen und Kopieren Leerzeichen verloren gingen. Im Frontend kann ich es so eingeben:quelle
JavaScript, 328 Bytes
Nicht besonders kurz, aber es ist das, was ich habe.
Entgolft:
quelle