[CodeKata Dart] Sum of positive

ryan·2021년 7월 19일
1

CodeKata Dart

목록 보기
1/2
post-thumbnail

링크

나의 풀이

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;
  }
}

Best 풀이

import "dart:math";

int positiveSum(List<int> xs) {
  return xs.fold(0, (a, x) => a + max(x, 0));
}

한 줄 풀이

int positiveSum(List<int> arr) => arr.where((x) => x > 0).fold(0, (a, b) => a + b);
profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

0개의 댓글