코딩테스트연습/[프로그래머스] Java

[프로그래머스] Java 코딩테스트 연습 - 배열의 평균값

_꼬마돌 2023. 7. 20. 20:05
반응형

[프로그래머스] Java 코딩테스트 연습 - 배열의 평균값

문제 출처

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

 

프로그래머스

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

programmers.co.kr

 

문제

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

 

풀이

잘못된 풀이

class Solution {
    public double solution(int[] numbers) {
        double answer = 0;
        int sum = 0;
        
        for (int i = 0; i < numbers.length; i++) {
            sum += numbers[i];
        }
        answer = (double) (sum / numbers.length);
        
        return answer;
    }
}
double형으로 형변환하기 위해 (double) (sum / numbers.length) 와 같이 입력했는데 소수 부분이 잘려서 출력됐다. 이유를 찾아보니 이렇게 입력하면 num / numbers.length가 먼저 계산되고 그 결과가 int로 변환된 후에 double로 변환되어 소수 부분이 잘린다고 한다.

 

소스코드

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

 

반응형