Menu
Coddy logo textTech

챌린지: 숫자들의 합

Coddy Dart 여정의 기초 섹션에 포함된 레슨 — 94개 중 93번째.

challenge icon

챌린지

쉬움

이 챌린지에서 특정 조건에 따라 리스트의 숫자들의 합을 계산하는 함수를 만들게 됩니다.

정수 리스트가 있으며, 특정 기준을 충족하는 숫자들만 더하는 sumWithCondition 함수를 완성해야 합니다.

함수는 다음을 수행해야 합니다:

  • 리스트에서 threshold 값보다 큰 모든 숫자들의 합을 계산합니다
  • 합이 maxSum 값을 초과한 직후 숫자 추가를 즉시 중단합니다 (최종 합은 maxSum보다 클 수 있습니다)
  • 최종 합을 반환합니다

중요: 함수는 합이 maxSum을 초과하게 만드는 숫자를 추가한 에 숫자 추가를 중단합니다. 이는 최종 결과가 maxSum보다 클 수 있음을 의미합니다.

예시: threshold보다 큰 숫자들이 [15, 20, 25, 30]이고 maxSum이 50인 경우:

  • 15 추가: sum = 15 (계속)
  • 20 추가: sum = 35 (계속)
  • 25 추가: sum = 60 (50 초과, 여기서 중단)
  • 결과: 60 (50 아님)

직접 해보기

void main() {
  // 테스트 케이스
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // 12보다 큰 숫자들의 합계, 최대 합계 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // 8보다 큰 숫자들의 합계, 최대 합계 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: 조건에 따라 숫자들의 합계를 계산하는 이 함수를 완성하세요
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: 숫자 리스트를 순회하세요
  // TODO: threshold보다 큰 숫자만 합계에 추가하세요
  // TODO: 합계가 maxSum을 초과하면 추가를 중지하세요
  
  return sum;
}

기초의 모든 레슨