반응형

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

 

 

 

 

 

 

** Javascript

 

 

나의 풀이다.

(프로그래머스 풀다 보니 reduce에 대해 호기심이 생겨 level1 에서 reduce를 엄청 사용하기 시작하였다.)

 

function solution(arr) {
    return arr.reduce((acc, curr) => acc + curr) / arr.length;
}

 

 

 

** Java

 

 

java는 그냥 for문을 돌렸다. for문이 가장 빠르다고 매번 갓택오버플로우에서 얘기가 나왔기에

 

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

 

 

다른 사람들 풀이 보면 null 체크도 해줬다. 나는 그럼 for문 형태를 변형하겠다.

 

class Solution {
    public double solution(int[] arr) {
        if (arr == null || arr.length == 0) return Double.valueOf(0);
        double sum = 0;
        for (int number : arr) {
            sum += number;
        }
        return sum / arr.length;
    }
}

 

arr 이 비어있거나 null 일 경우 바로 0으로 빠지도록 한다. 알다시피 0으로 나누는 건 안되기 때문.

반응형

+ Recent posts