728x90
프로그래머스 평균구하기 알고리즘 문제
https://programmers.co.kr/learn/courses/30/lessons/12944
문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
입출력 예
< 문제 풀이 >
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
let arr = [1,2,3,4];
//let arr = [5,5];
solution(arr);
function solution(arr) {
let sum = 0;
let avr = 0;
//arr 에서 index 찾기
for (let index in arr){
//arr 엘리먼트들 다 더하기 (합계)
sum += arr[index];
// 합계 / 엘리먼트 개수 = 평균
avr = sum/arr.length;
}
return avr;
}
for in 문을 돌려서 arr 안의 값을 먼저 합쳐주자. 그러고난 후 합친 값을 합친 개수로 나눈다.
다른 사람들은 어떻게 풀었을까?
https://programmers.co.kr/learn/courses/30/lessons/12944/solution_groups?language=javascript
/ 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
let arr = [1,2,3,4];
// let arr = [5,5];
solution(arr);
function solution(arr) {
return arr.reduce((acc, cur) => acc + cur, 0) /arr.length;
}
reduce 메서드로 누적값, 현재값 가져온다. 현재 값을 누적값에 계속 더해준다. 시작 초기값은 0이다. 누적값을 구했다면 arr.length 만큼 (arr.element 숫자 개수) 나누어준다.
728x90
'Algorithm' 카테고리의 다른 글
[알고리즘] 백준 파이썬 2839번 설탕배달 | 파이썬 입력하는 법 (0) | 2022.03.02 |
---|---|
[알고리즘] 프로그래머스 #9 핸드폰 번호 가리기 | replace( ) (0) | 2022.01.21 |
[알고리즘] #12 부족한 금액 계산하기 | 프로그래머스 (0) | 2022.01.20 |
[알고리즘] #14 나누어 떨어지는 숫자 배열 | 프로그래머스 (0) | 2022.01.20 |
[알고리즘] #25 정수 제곱근 판별 | 프로그래머스 (0) | 2022.01.20 |