Introducción:
(Fuente: Wikipedia )
Cuando miramos un arco iris siempre tendrá los colores de arriba a abajo:
rojo; naranja; amarillo; verde; azul; índigo; Violeta
Si observamos estos anillos individuales, el anillo rojo es, por supuesto, más grande que el anillo violeta.
Además, también es posible tener dos o incluso tres arcoíris al mismo tiempo.
Todo lo anterior combinado se usará en este desafío:
Desafío:
Dada una lista de enteros de exactamente el tamaño 7, donde cada valor indica las partículas de color disponibles para formar arcoíris (donde el índice más grande indica rojo y el índice más pequeño indica violeta), genera la cantidad de arcoíris que se puede formar.
Un solo arco iris entero debe tener al menos 3x violeta, 4x índigo, 5x azul, 6x verde, 7x amarillo, 8x naranja, 9x rojo. Un segundo arco iris encima será aún más grande que el anillo rojo del primer arco iris (incluido un espacio entre ellos), por lo que necesitará al menos 11x violeta, 12x índigo, 13x azul, 14x verde, 15x amarillo, 16x naranja , 17x rojo además de lo que usa el primer arcoíris. El tercer arcoíris comenzará en 19x violeta nuevamente.
Ejemplo:
Lista de entrada: [15,20,18,33,24,29,41]
Salida:2
¿Por qué? Tenemos 15x violeta, y necesitamos al menos 3 + 11 = 14 para dos arcoiris. Tenemos 20 índigo y necesitamos al menos 4 + 12 = 16 para dos arcoíris. Etc. Tenemos suficientes colores para dos arcoíris, pero no suficientes para formar tres arcoíris, por lo que la salida es 2
.
Reglas de desafío:
- Se garantiza que los enteros en la matriz de entrada no son negativos (
>= 0
). - Se garantiza que la lista de entrada será de tamaño 7 exactamente.
- Cuando no se pueden formar arcoíris, salimos
0
. - El formato de entrada y salida es flexible. Puede ser una lista o conjunto de enteros de decimales, puede tomarse de STDIN. La salida puede ser un retorno de una función en cualquier tipo de salida razonable, o imprimirse directamente en STDOUT.
Cantidad mínima de colores necesarios para la n
cantidad de arcoíris:
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...
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de code-golf lo desanimen a publicar respuestas con lenguajes que no sean codegolf. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, se recomienda agregar una explicación para su respuesta.
Casos de prueba:
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
embargo, el caso límite :( (no encaja con la lógica de 1 espacio)