Mir wurde kürzlich gesagt, ich solle bis zum neuen Jahr ein ganzes Physiklehrbuch lesen (wahre Geschichte, leider). Ich brauche Ihre Hilfe, um zu bestimmen, welche Kapitel ich jeden Tag lesen sollte. Hier kommst du rein.
Eingang
- Zwei Daten in jedem Format. Das zweite Datum liegt immer nach dem ersten.
- Eine Liste der Kapitelnummern. Diese durch Kommas getrennte Liste kann einzelne Kapitel (
12
) oder inklusive Bereiche (1-3
) enthalten. Ex.1-3,5,6,10-13
. - Eine Liste der Wochentage (dargestellt durch die ersten beiden Buchstaben des Namens
Monday -> Mo
:), die vom Zeitplan ausgeschlossen werden sollen. Ex.Mo,Tu,Fr
.
Ausgabe
Die Ausgabe erfolgt in einer durch Zeilenumbrüche getrennten Liste mit Datums- und Kapitelnummern (siehe Format unten). Die Kapitel sollten gleichmäßig über alle Tage im Bereich verteilt sein, ausgenommen die angegebenen Wochentage. Wenn die Kapitel nicht gleichmäßig verteilt sind, lassen Sie die Tage am Ende des Zeitraums weniger Kapitel enthalten. Datumsangaben in der Ausgabe können ein anderes Format als die Eingabe haben. Tage ohne Kapitel können ausgelassen werden oder haben einfach keine Kapitel.
Beispiel:
Eingang: 9/17/2015 9/27/2015 1-15 Tu
Ausgabe:
9/17/2015: 1 2
9/18/2015: 3 4
9/19/2015: 5 6
9/20/2015: 7 8
9/21/2015: 9 10
9/23/2015: 11
9/24/2015: 12
9/25/2015: 13
9/26/2015: 14
9/27/2015: 15
Antworten:
PowerShell v4,
367357323313308307305277 BytesBearbeiten - 28 Bytes mit expliziter Eingabeformatierung.
Erklärt:
Verwendung
Erwartet, dass die Daten im .NET-
DateTime
Format vorliegen. Erwartet, dass sich die übersprungenen Tage in einem Array befinden (PowerShell-Entsprechung einer Liste).quelle
$
... Das ist eigentlich ein ziemlich durchschnittlicher Wert für PowerShell-Golf, der bei 10% bis 15% zu liegen scheint (basierend auf meinen eigenen informellen Berechnungen der von mir geposteten Antworten).JavaScript (ES6),
317310291 ByteVerwendung
Erläuterung
quelle
Python 2 -
338317308304300Hier geht es los, um den Ball ins Rollen zu bringen ...
Beispiel Eingabe:
Beispielausgabe:
quelle