[Java_Programmers] Lv1. 평균구하기

🐷Jinie (juniorDeveloper)·2020년 10월 5일
0

Algorithm

목록 보기
8/27

10월 05일 문제

  • 정수를 담고 있는 배열 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;
    }
}
profile
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕

0개의 댓글