Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 프로그래머스
- 엘리스 AI 트랙 5기
- JavaScript
- 자바스크립트 split()
- 삼항연산자
- HTML
- 프론트개발
- 개발일기
- 엘리스 ai 트랙
- 코딩부트캠프
- 리트코드
- reactnativecli
- 자바스크립트
- 자바스크립트 sort()
- [파이썬 실습] 심화 문제
- 프론트개발공부
- 자바스크립트 날씨
- 간단한 날씨 웹 만들기
- leetcode
- 날씨 웹 만들기
- [파이썬 실습] 중급 문제
- [AI 5기] 연습 문제집
- RN 프로젝트
- 부트캠프
- 자바스크립트 날씨 웹 만들기
- 엘리스
- 자바스크립트 reduce()
- [파이썬 실습] 기초 문제
- 코드스테이츠
- 개발공부
Archives
- Today
- Total
개발조각
[프로그래머스] 평균 구하기 본문
728x90
반응형
평균 구하는 방법
- 평균을 구하려는 수를 더해서 합 구하기
- 더해준 합에 더해준 숫자의 개수만큼 나누어주기
배열 평균 구하는 방법
- 배열 안의 원소를 다 더해준다.
- 다 더해준 값에 배열의 길이만큼 나누어준다.
해결방안
function solution(arr) {
return arr.reduce((arr, cur)=> arr+cur) / arr.length;
}
배열 arr의 평균 구하기
- arr의 전체 원소의 합 / 배열의 길이 -> arr.reduce((arr, cur)=> arr+cur) / arr.length;
arr의 전체 원소의 합 : arr.reduce((arr, cur)=> arr+cur)
이 문제를 보자마자 reduce()메서드를 써야겠다고 생각했습니다.
MDN Web Docs
reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.
reduce() 함수는 네 개의 인자를 가집니다.
1. 누산기 (acc)
2. 현재 값 (cur)
3. 현재 인덱스 (idx)
4. 원본 배열 (src)
구문 : 배열.reduce((callback)=>처리할 현재 요소, 기본값)
- callback : 배열의 각 요소에 대해 실행할 함수. 다음 네 가지 인수(acc, cur, idx, src)를 받습니다.
- 기본값 : 넣어도 되고 안 넣어도 됨
// reduce() 메서드 예제
const array1 = [1, 2, 3, 4];
const reducer = (previousValue, currentValue) => previousValue + currentValue; // 1 + 2 + 3 + 4
console.log(array1.reduce(reducer)); // 10
예제를 보시면 배열의 원소의 합을 쉽게 구할 수 있습니다.
- reduce((이전 원소, 현재 원소) => 이전원소 + 현재원소)
그래서 arr.reduce((arr, cur)=> arr+cur) 이렇게 써주었습니다.
arr.reduce((arr, cur)=> arr+cur)
테스트 1 (arr = [1,2,3,4])
reduce((0, 1) => 0 + 1); // 1
reduce((1, 2) => 1 + 2); // 3
reduce((3, 3) => 3 + 3); // 6
reduce((6, 4) => 6 + 4); // 10
테스트 2 (arr = [5,5])
reduce((0, 5) => 0 + 5); // 5
reduce((5, 5) => 5 + 5); // 10
배열의 길이 : arr.length
배열 안의 원소의 합을 구했으니 배열 원소의 갯수만큼 나누어 주어야 됩니다.
배열원소의 개수는 배열의 길이로 구할 수 있습니다.
여기까지 프로그래머스 평균 구하기 해결방안에 대해 설명해보았습니다.
728x90
반응형
'알고리즘🅰 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 핸드폰 번호 가리기 (0) | 2022.03.08 |
---|---|
[프로그래머스] 하샤드 수 (0) | 2022.03.08 |
[프로그래머스] 콜라츠 추측 (0) | 2022.03.07 |
[프로그래머스] 최대공약수와 최소공배수 (0) | 2022.03.04 |
[프로그래머스] 짝수와 홀수 (0) | 2022.03.04 |
Comments