チャレンジ: 数の合計
CoddyのDartジャーニー「基礎」セクションの一部 — レッスン 93/94。
チャレンジ
簡単このチャレンジでは、リスト内の数字の合計を特定の条件に基づいて計算する関数を作成します。
整数リストがあり、特定の基準を満たす数字のみを合計する 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: numbersリストをループする
// TODO: thresholdより大きい数字のみをsumに追加
// TODO: sumがmaxSumを超えたら追加を停止
return sum;
}