프로그래머스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도 있답니다. 요소 순횔르 오른ㅉ고부터 왼쪽으로 한다네요. (역순)
🙇♀️ 틀린 점에 대한 지적은 언제나 환영합니다 🙇♂️
'프로그래머스' 카테고리의 다른 글
프로그래머스 Lv.1 : 06. 핸드폰 번호 가리기 (1) | 2022.11.01 |
---|---|
프로그래머스 Lv.1 : 05. 서울에서 김서방 찾기 (0) | 2022.11.01 |
프로그래머스 Lv.1 : 04. 약수의 합 (1) | 2022.11.01 |
프로그래머스 Lv.1 : 03. 문자열 내 p와 y의 개수 (1) | 2022.11.01 |
프로그래머스 Lv.1 : 02. 자연수 뒤집어 배열로 만들기 (1) | 2022.10.31 |
댓글