반평균 등수

WooBuntu·2020년 9월 1일
0

JS 100제

목록 보기
25/34

반평균 등수

const school = new Array(7)
  .fill(null)
  .map(() =>
    new Array(30)
      .fill(null)
      .map(() =>
        new Array(5).fill(null).map(() => Math.floor(Math.random() * 100) + 1)
      )
  );

const averOfStudents = school.map((Class) => {
  return Class.map((student) => {
    return student.reduce((acc, score, idx, origin) => {
      acc += score;
      if (idx == origin.length - 1) {
        return acc / origin.length;
      }
      return acc;
    }, 0);
  });
});

const averOfClasses = averOfStudents.map((Class) => {
  return Class.reduce((acc, student, idx, origin) => {
    acc += student;
    if (idx == origin.length - 1) {
      return acc / origin.length;
    }
    return acc;
  }, 0);
});
console.log(averOfClasses);

const topOfClasses = averOfStudents.map((Class) => Math.max(...Class));
console.log(topOfClasses);

const averOfTotal = averOfClasses.reduce((acc, cur, idx, origin) => {
  acc += cur;
  if (idx == origin.length - 1) {
    return acc / origin.length;
  }
  return acc;
}, 0);
console.log(averOfTotal);

0개의 댓글