[CodeKata Dart] Sum of positive
リンク
私の答え
int positiveSum(List<int> arr) {
// arr가 비어있지않거나, arr에서 0보다 큰 숫자를 List로 만든 것이 비어있으면 0을 리턴
if (arr.isEmpty || arr.where((num) => num > 0).toList().isEmpty) {
return 0;
} else {
// arr에서 0보다 큰 숫자들을 List로 만들고 List<int> 타입인 positiveNumList에 할당
List<int> positiveNumList = arr.where((num) => num > 0).toList();
// positiveNumList에 reduce 메서드를 활용해서 List의 모든 수를 더하고, int 타입인 sum에 할당
int sum = positiveNumList.reduce((a, b) => a + b);
// sum 리턴
return sum;
}
}
最適なシナリオ
import "dart:math";
int positiveSum(List<int> xs) {
return xs.fold(0, (a, x) => a + max(x, 0));
}
1行解く
int positiveSum(List<int> arr) => arr.where((x) => x > 0).fold(0, (a, b) => a + b);
Reference
この問題について([CodeKata Dart] Sum of positive), 我々は、より多くの情報をここで見つけました https://velog.io/@realryankim/CodeKata-Dart-Sum-of-positiveテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol