Einführung:
(Quelle: Wikipedia )
Wenn wir einen Regenbogen betrachten, hat er immer die Farben von oben nach unten:
Rot; Orange; Gelb; Grün; Blau; Indigo; violett
Wenn wir uns diese einzelnen Ringe ansehen, ist der rote Ring natürlich größer als der violette Ring.
Darüber hinaus ist es auch möglich, zwei oder sogar drei Regenbogen gleichzeitig zu haben.
All dies oben kombiniert wird in dieser Herausforderung verwendet:
Herausforderung:
Ausgehend von einer Liste von Ganzzahlen der exakten Größe 7, wobei jeder Wert die Farbpartikel angibt, die zur Bildung von Regenbögen zur Verfügung stehen (wobei der größte Index Rot und der kleinste Index Violett angibt), geben Sie die Anzahl der Regenbögen aus, die gebildet werden können.
Ein einzelner Ganzzahl-Regenbogen muss mindestens 3x Violett, 4x Indigo, 5x Blau, 6x Grün, 7x Gelb, 8x Orange, 9x Rot haben. Ein zweiter Regenbogen darüber ist sogar größer als der rote Ring des ersten Regenbogens (einschließlich eines Zwischenraums zwischen ihnen), sodass mindestens 11x Violett, 12x Indigo, 13x Blau, 14x Grün, 15x Gelb, 16x Orange benötigt werden , 17x rot zusätzlich zu dem, was der erste Regenbogen benutzt. Der dritte Regenbogen startet wieder bei 19x Violett.
Beispiel:
Input-Liste: [15,20,18,33,24,29,41]
Output:2
Warum? Wir haben 15x Violett und wir brauchen mindestens 3 + 11 = 14 für zwei Regenbogen. Wir haben 20 Indigos und wir brauchen mindestens 4 + 12 = 16 für zwei Regenbogen. Wir haben genug Farben für zwei Regenbögen, aber nicht genug, um drei Regenbögen zu formen. Die Ausgabe ist also 2
.
Herausforderungsregeln:
- Die Ganzzahlen im Input-Array sind garantiert nicht negativ (
>= 0
). - Die Eingabeliste hat garantiert die Größe 7 genau.
- Wenn sich keine Regenbogen bilden können, geben wir aus
0
. - Das Eingabe- und Ausgabeformat ist flexibel. Kann eine Liste oder ein Array von Dezimalzahlen sein, kann aus STDIN entnommen werden. Die Ausgabe kann eine Rückgabe einer Funktion in einem beliebigen sinnvollen Ausgabetyp sein oder direkt an STDOUT gesendet werden.
Mindestanzahl der Farben für die n
Anzahl der Regenbogen:
Amount of Rainbows Minimum amount per color
0 [0,0,0,0,0,0,0]
1 [3,4,5,6,7,8,9]
2 [14,16,18,20,22,24,26]
3 [33,36,39,42,45,48,51]
4 [60,64,68,72,76,80,84]
5 [95,100,105,110,115,120,125]
etc...
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Es wird außerdem dringend empfohlen, eine Erklärung für Ihre Antwort hinzuzufügen.
Testfälle:
Input: [15,20,18,33,24,29,41]
Output: 2
Input: [3,4,5,6,7,8,9]
Output: 1
Input: [9,8,7,6,5,4,3]
Output: 0
Input: [100,100,100,100,100,100,100]
Output: 4
Input: [53,58,90,42,111,57,66]
Output: 3
Input: [0,0,0,0,0,0,0]
Output: 0
Input: [95,100,105,110,115,120,125]
Output: 5
Input: [39525,41278,39333,44444,39502,39599,39699]
Output: 98
0,0,0,0,0,0,0
Rand-Fall aber :( (es passt nicht mit der 1-Gap-Logik)