brunch

You can make anything
by writing

C.S.Lewis

by Lynn Nov 08. 2022

코딩테스트 <배열의 평균값>

프로그래머스 <배열의 평균값>

문제 설명

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


제한사항

0 ≤ numbers의 원소 ≤ 1,000

1 ≤ numbers의 길이 ≤ 100

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


문제풀이 

function solution(numbers) {

    let sum = 0

    for (let i = 0; i < numbers.length; i++) {

        sum += numbers[i]

    }

    let answer = sum / numbers.length;

    return answer;

}


중요개념 

배열 요소, 배열 길이, for 반복문을 이용하는 문제. 


만약 numbers = [2, 4, 6, 8] 이라면 

numbers 배열의 인덱스는 3

numbers 배열의 배열 길이. 곧 numbers.length는 4가 된다. 

이때 numbers 원소의 평균값을 구하려면, 

numbers 평균값 = numbers 원소들의 합 %  numbers.length (20 % 4)


이를 프로그래밍 식에 적용하면


let sum = 0  

for (let i = 0; i < numbers.length; i++) {    

    /* 

    numbers의 배열 요소 = numbers.length-1

    i가 0부터 numbers.length 길이 미만인 수까지 반복식을 달아준다. 

    */

    sum += numbers[i]

    }


i가 0일 때, numbers[0] = 2

i가 1일 때, numbers[1] = 4

i가 2일 때, numbers[2] = 6

i가 3일 때, numbers[3] = 8

numbers.length는 4이므로 i는 3일때 까지만 반복 수행. 


sum = 0 + numbers[0] = 2

sum = 2 + numbers[1] = 6 

sum = 6 + numbers[2] = 12

sum = 12 + numbers[3] = 20 


let answer = sum / numbers.length;

    return answer;

}


작가의 이전글 코딩테스트 <피자 나눠 먹기1>
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari