챌린지: 숫자들의 합
Coddy Dart 여정의 기초 섹션에 포함된 레슨 — 94개 중 93번째.
챌린지
쉬움이 챌린지에서 특정 조건에 따라 리스트의 숫자들의 합을 계산하는 함수를 만들게 됩니다.
정수 리스트가 있으며, 특정 기준을 충족하는 숫자들만 더하는 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;
}