본문 바로가기
💻JavaScript/코딩테스트

배열의 평균 값(The average of the array)

by 영진학생 2024. 12. 14.

문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.

 

 

제한사항

 

0 ≤ numbers의 원소 ≤ 1,000

1 ≤ numbers의 길이 ≤ 100

정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.

 

 

📄 문제

function solution(numbers) {
    var answer = 0;
    return answer;
}

 

 

💻 내가 쓴 코드

// 반복문으로 수를 모두 더해준다.
// 그리고 배열 내, 더해준 숫자의 갯수만큼 나누어 준다.
// 문제점은 입력값과 더해주는 숫자의 갯수를 어떻게 설정..?

function solution(numbers) {
    let sum = 0;
    
    for (let i = 1; i <= 10; i++) {
        sum += i;
    }
    return sum / 10;
}

 

 

💻 공부 후 코드

// 첫번째 배열의 수 부터 마지막 배열의 수까지 차례대로 더해줍니다.
// 그리고 배열 내의 숫자의 갯수 만큼 나누어줍니다.
// 중요한 점은 배열의 첫번째 숫자는 1번째가 아니라 0번째라는 것

function solution(numbers) {
    let sum = 0; // sum 에 0을 할당
    
    for (let i = 0; i < numbers.length; i++) { //배열의 길이 보다 - 1 낮은값만큼 반복
        sum += numbers[i]; // 배열의 i 번째수를 sum에 더해준다.
    }
    return sum / numbers.length; // 마지막으로 배열의 길이만큼 나누어준다.
}

 

 

📌 배운 점

문제를 처음에 봤을 때 어떤식으로 풀어야할지 로직은 이해가가는데 사용해야하는 메서드를 몰라서 공부 후에 풀수 있게 된 문제였어요. 덕분에 .length 라는 메서드를 알게 되었고 배열의 이름[i]를 이용하면 그 배열의 i번째 숫자를 표현할 수 있다는 것도 배울수 있었네요 추가로 배열의 시작이 1번째 부터가 아니라 0번째 라는 것을 알게되었어요.

1) .length 배열의 길이를 나타냄

2) numbers[i] 배열의 i 번째 숫자를 뜻함

3) 배열은 0번째 부터 시작