본문 바로가기
프로그래머스

프로그래머스 Lv.1 : 01. 평균 구하기

by 코린이 박원장👶 2022. 10. 31.

프로그래머스Lv.1 : 평균 구하기


■ 문제 설명

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

■ 제한사항

✔ arr은 길이 1 이상, 100 이하인 배열입니다.
✔ arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

■ 입출력 예

arr return
[1,2,3,4] 2.5
[5,5] 5

■ 내멋대로 풀어헤치기😜

평균을 구하는 식은 다들 아시겠지만 '전체값 더하기 / 전체갯수'라서 평균값인 변수 aver에 그렇게 해주었습니다. 네 그렇습니다

function solution(arr) {
    var answer = 0;
    for(i=0; i<arr.length; i++){
        answer += arr[i];
    }
    aver = answer / arr.length;

    return aver;
}

■ 다른사람 입맛도 맛보기 😋

reduce()...? 뉘슈... 배운거 맞나? GingaMingaYo ^^

function average(array){
    var result = array.reduce(function(a,b){ return a + b; });
    return result/array.length;
  }


📌 나혼자 공부...

reduce

배열.reduce((누적값, 현재값, 인덱스, 엘레먼트) => {return 결과 }, 초기값);

누적값입니다.(뭔소리래??)
초기값을 적어주지 않으면 자동으로 초기값은 0번째 인덱스의 값이 됩니다.
문제에 적용해보면
1부터4까지 인덱스는 0-3이고, 문제를 푼사람은 초기값을 안적었으니 초기 시작값은 0번째 인덱스인 1부터 시작되겠군용

// 1 2 1 (초기값, 첫번재인덱스해당값, 첫번째 인덱스)
// 3 3 2 (누적값, 두번째인덱스값, 두번째 인덱스)
// 6 4 3 (누적값, 3번째인덱스값, 3번째 인덱스)
∴ 총 누적 6
⇒ 6/4 = 2.5
ㅇㅎ?

번외로 reduceRight도 있답니다. 요소 순횔르 오른ㅉ고부터 왼쪽으로 한다네요. (역순)


🙇‍♀️ 틀린 점에 대한 지적은 언제나 환영합니다 🙇‍♂️

728x90

댓글


HTML이미지
HTML이미지

JAVASCRIPT

자세히 보기
HTML이미지