카테고리 없음

Java 프로그래머스 코딩테스트 : 배열의 평균값

솔리! 2023. 4. 5. 22:47

<문제>

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

 

 

[문제 해석]

 

정수 배열 numbers가 있고 평균값을 구하려면 배열 원소의 값을 모두 합할 변수가 하나 필요하고 반복문 for을 이용해서 합해주면 될듯하다. 그리고 반복문의 범위와 원소의 합에 원소 개수를 나누어주어야 할때 배열의 길이를 알아야하겠다.

 

 


정수 배열 numbers와 원소의 값을 합할 변수 answer은 0으로 초기화 되어있다. 이 answer에 원소들을 하나씩 더해주어야 하는데 이때 for 문을 이용해보겠다.

 

 

for문은 c와 c++에서도 동일하게 사용했어서 쉽게 떠올릴 수 있었다.

마지막 원소가 몇번째인지 알기 위해서 배열의 길이를 구할 수 있는 length를 사용했다.

 

배열의 길이 = 배열참조변수명.length 

 

 

for(int i=0; i<numbers.length; i++) {
            answer = answer + numbers[i];
        }     // answer+=numbers[i]; 로 쓰는것이 더 간편한 방법

 

 

for문을 나와서 원소의 합으로 새롭게 정의된 answer에 원소의 개수로 나눠준 평균값을 바로 반환해주면 될것같다.

이때도 length를 사용해주면 된다.

 

 return answer/numbers.length;
    }
}

 

 

 

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

 

아주 기초 문제이지만 오직 내 힘으로 해결한게 기뻤다 ! 

내 풀이는 아주 정석적인 풀이이고 다양한 방법으로도 해결할 수 있다.

 

배열의 초기값이 설정되어있는건지 모르겠어서 처음에 시작이 어려웠다. c언어와 달리 사용자 입력값을 받으려면 어떻게 해야되는지 모르겠다. 그리고 class안에서 return값으로만 해결할 수 있는건지 몰랐었다.. class밖에 나와서 System.out.println(); 으로 출력해주어야 하는줄 알았다. 아직 기초 공부가 더 필요하겠다.

 

 


 

https://school.programmers.co.kr/learn/courses/30/lessons/120817

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr