Nivel por experiencia
- O(n) · Media
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- condicionales
Enunciado
En Torres de Ceniza todos empiezan en el nivel 1, y cada nivel cuesta experiencia para pasarlo, unos más que otros. ¿Hasta dónde te llevan tus xp puntos?
Escribe una función que reciba costos, una lista de enteros positivos (lo que cuesta pasar del nivel 1 al 2, luego del 2 al 3, y así), y xp, un entero de 0 en adelante. Regresa el nivel en que quedas, como entero. Los niveles se pagan en orden: si te alcanza, pagas y subes; si no, ahí te quedas, aunque el siguiente sea más barato. Si te alcanza justo, sí subes. Si pagas todos, pasas del último: con tres costos, quedas en el nivel 4. Con la lista vacía te quedas en el nivel 1.
Con costos = [100, 150, 200] y xp = 280: pagas 100 (te quedan 180), pagas 150 (te quedan 30) y no te alcanza para 200. Quedas en el nivel 3.
Ejemplos
El del ejemplo
[100, 150, 200], 280 → 3
Te alcanza justo
[40, 60, 90], 100 → 3
Te alcanza para todos
[10, 20, 30], 500 → 4
No pasas ni el primero
[25, 5], 20 → 1
Justo para todos
[30, 30], 60 → 3
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def nivel(costos, xp):
passJavaScript
function nivel(costos, xp) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.