Daily 코드카타

[코드카타] 코딩테스트입문 : 배열의 평균 - 2026.06.12 풀이

정이뿡뿡 2026. 6. 12. 10:00

문제 설명

 

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


제한사항

  • 0 ≤ numbers의 원소 ≤ 1,000
  • 1 ≤ numbers의 길이 ≤ 100
  • 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.

입출력 예

numbers result
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5.5
[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] 94.0

입출력 예 설명

 

입출력 예 #1

  • numbers의 원소들의 평균 값은 5.5입니다.

입출력 예 #2

  • numbers의 원소들의 평균 값은 94.0입니다.

문제를 풀이하기전 '매개변수'와 '원소의 평균값'에 대해 모르시는 분들은 더보기를 누르시면 간략한 설명이 나옵니다.

더보기

1. '매개변수'가 뭔가요?

매개변수 는 쉽게 말해 "함수가 계산을 시작할 때 재료로 넘겨받는 값"이에요.

자판기를 예로 들어볼게요.

자판기에 '동전'과 '음료수 버튼 번호'를 넣어야 음료수가 나오죠?

이때 자판기 입장에서 입력받는 재료인 '동전'과 '번호'가 바로 매개변수입니다.

 

이 문제에서는 solution이라는 함수(자판기)가 계산을 하려면

숫자들이 잔뜩 들어있는 상자가 필요한데, 그 상자의 이름을 numbers라고 부르기로 약속한 거예요.

 

2. '원소의 평균값'이 무슨 뜻인가요?

원소: 배열(상자) 안에 들어있는 알맹이 숫자 하나하나를 뜻합니다.

예를 들어 [1, 2, 3]이라는 배열이 있다면, 원소는 1, 2, 3입니다.

 

평균값: 모든 숫자를 다 더한 뒤, 숫자의 개수만큼 나누는 것을 말해요.

학교에서 시험 총점을 과목 수로 나눠서 평균 점수 내는 것과 똑같습니다!

 

💡 입출력 예시로 보기

numbers 상자 안에 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]이라는 원소들이

매개변수로 들어왔다고 해볼게요.

 

  1. 다 더하기: $1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
  2. 개수로 나누기: 숫자가 총 10개니까, 55 / 10 = 5.5

 

해설 :

더보기

매번 numbers 상자안에 원소갯수가 다르게 들어올수 있으므로 'length' 라는 명령어를 사용했습니다~

'length'의 예시는 풀이코드 하단에 추가 해놓을게요 :)

class Solution {
    public double solution(int[] numbers) {
        double sum = 0;
  for (int i = 0; i < numbers.length; i++ ){ 
      sum += numbers [i];
}            
        return sum / numbers.length;
    }
}

 

‼️ 'length' 란 무엇인가요?

length는 자바(Java)에서 "배열 상자 안에 들어있는 데이터가 총 몇 개인지(길이/개수)"를 알려주는

자동 계측기 같은 명령어 입니다.영단어 뜻 그대로 '길이'를 말해요~

numbers 상자 ──> [🐱,🐶,🐺,🦁,🐯,🦝]

 

예를 들어 동물원(배열) 이 있습니다. 이 동물원의 이름이 numbers 라고 했을때

이 상자에 대고 number.length 라고 외치면, 자바는 numbers 상자칸을 스캔해서

"이 상자 안에는 데이터가 6개 들어있어!" 라 생각을 하고 숫자 6을 뱉습니다.

 

코드로 볼때 필요한 이유는 간단합니다.

위에 풀었던 평균구하기 문제같은 경우, 상자안에 숫자가 몇개나 들어올지는 매번 바뀝니다.

어떤때에는 3개가 들어올수도 있고, 어떤때에는 5개가 들어올수가 있는거죠~

int[] numbers1 = {1, 2, 3};
System.out.println(numbers1.length); // 3 출력

int[] numbers2 = {89, 90, 91, 92, 93};
System.out.println(numbers2.length); // 5 출력

 

그래서 코드에 sum / number.length 라고 써두면,

숫자가 3개가 들어오던 100개가 들어오던 자바가 알아서 딱 맞는 개수로 평균을 구해주게 되기때문에 필요합니다 :)

 

length는 배열을 다루는 거의 모든 상황에서 정말 자주 쓰여요~!
조건에 맞는 데이터가 몇개인지 셀때 즉 필터링이 필요할때! 혹은 우리가 비밀번호를 만들때 '8자이상 16자 미만' 등 길이를 체크 할때도 사용합니다~!


이에 대해선 차후 포스팅에서 다뤄볼테니 오늘은 요런 개념이 있구나 정도만 알아두시면

나중에 응용하기 쉬울거에요~!