Menu
Coddy logo textTech

Desafío: Suma de números

Parte de la sección Fundamentos del Journey de Dart de Coddy — lección 93 de 94.

challenge icon

Desafío

Fácil

En este desafío, crearás una función que calcula la suma de números en una lista basada en ciertas condiciones.

Tienes una lista de enteros, y necesitas completar la función sumWithCondition que suma solo los números que cumplen con criterios específicos.

La función debe:

  • Calcular la suma de todos los números en la lista que son mayores que el valor threshold
  • Detener la adición de números inmediatamente después de que la suma exceda el valor maxSum (la suma final puede ser mayor que maxSum)
  • Devolver la suma final

Importante: La función detiene la adición de números después de agregar un número que causa que la suma exceda maxSum. Esto significa que el resultado final puede ser mayor que maxSum.

Ejemplo: Si los números mayores que threshold son [15, 20, 25, 30] y maxSum es 50:

  • Agregar 15: sum = 15 (continuar)
  • Agregar 20: sum = 35 (continuar)
  • Agregar 25: sum = 60 (excede 50, así que detener aquí)
  • Resultado: 60 (no 50)

Pruébalo tú mismo

void main() {
  // Casos de prueba
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Sumar números mayores a 12, con suma máxima de 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Sumar números mayores a 8, con suma máxima de 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: Completa esta función para sumar números basados en condiciones
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Recorre la lista de números
  // TODO: Agrega solo números mayores al umbral a la suma
  // TODO: Detén la adición si la suma excede maxSum
  
  return sum;
}

Todas las lecciones de Fundamentos