- 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
- 제한사항
arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
class Solution {
public double solution(int[] arr) {
double answer = 0;
int sum = 0; int cnt = 0;
for(int i=0; i<arr.length; i++){
sum += arr[i];
cnt++;
}
answer = (double)sum/cnt;
return answer;
}
}
for문을 이용해서 배열의 숫자들을 sum에 누적시켜 합을 구했다.
그 후, cnt에 for문이 실행될 때 마다 +1씩 증가하는 처리를 진행했다.
평균을 구하는 answer는 double형으로 선언되었기 때문에
int형인 sum/cnt 의 값을 (double)로 형변환 해주었다.
다만, 답안을 제출하고
다시 풀이를 고민해보니 왜 cnt를 만들었는지 스스로 의문이 들었다.
그냥 배열의 길이로 나눠주면 평균을 구할 수 있을 것이라는 생각이 들었고 테스트 해봤다.
결과는 통과! 가능했다.
cnt는 필요가 없었다.
class Solution {
public double solution(int[] arr) {
double answer = 0;
int sum = 0;
for(int i=0; i<arr.length; i++){
sum += arr[i];
}
answer = (double)sum/arr.length; // 수정한 부분
return answer;
}
}