프론트엔드 센트럴파크 (☞゚ヮ゚)☞

반복문(for)으로 반올림하여 반 평균 구하기 본문

Algorism

반복문(for)으로 반올림하여 반 평균 구하기

자라나라나무나무나 2022. 6. 12. 02:08
function answer(score) {

    let average = score.reduce(function add(sum, curr) {
        return sum + curr ;
    }, 0);

    const result = (average / score.length).toFixed(2);
    
    return result;
};

let input = [[80,95,65,70,100], [82,77,51,64,73,90,80], [100,71,59,88,72,75,91,93]];

for(let i = 0; i < input.length; i++) {
    console.log(`#${ i +1 } ${answer(input[i])}`);
}

ruduce 함수를 이용하여 배열 안의 합을 더하도록 했다. 

 

그 결과값을 배열의 길이만큼 나누고 toFixed를 통하여 2번째 자리까지 표현할 수 있도록 하였다.

 


function answer(score) {
    let average = 0;

    for(let i = 0; i <score.length; i++) {
        average += score[i];
    }
    average = average.toFixed(2);

    return average;
};

let input = [[80,95,65,70,100], [82,77,51,64,73,90,80], [100,71,59,88,72,75,91,93]];

for(let i = 0; i < input.length; i++) {
    console.log(`#${ i +1 } ${answer(input[i])}`);
}

이렇게 풀고 싶었는데 다르게 답을 찾다보니 reduce함수를 찾아서 해결했던 것 같다.

반복문을 만들 때에는 파라미터로 들어오는 값들을 이용하여 반복문의 길이를 정해주는 것 같다.

복합대입 연산자를 이용하여 현재 아무것도 없는 average에 score[i] 즉, 배열 하나하나의 값을 누적하여 더해준다.

누적하여 더해진 값을 이용하여 소수2번째자리까지 리턴해주는 것은 동일하다.

Comments