[JAVA]

[프로그래머스 JAVA] 배열의 평균

미냠 2024. 6. 20. 22:47

 

가볍게 기초부터 화이팅 

 

 

 

배열의 평균값을 구하는 간단한 문제다

 

단순하게 일차원적으로 생각하면

모두 더한 값을 배열의 길이로 나누면 된다

 

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

 

 

실행 결과는 성공

 

 

 

근데 뭔가 java의 함수가 있을 거 같은 느낌이다..

average라는 함수로 분명 function이 없을리가 없는데 

그래서 구글링 !

 

import java.util.Arrays;

class Solution {
    // 다른풀이 stream()
    public double solution(int[] numbers) {
        return Arrays.stream(numbers).average().orElse(0);
    }
}

 

역시나 훨신 간단한 풀이가 있었다

 

stream() 은 데이터의 연속적인 흐름을 나타내는 기능이며

컬렉션(Collection)과 배열 등의 데이터 소스로부터 데이터를 받아들이고,

다양한 중간 연산과 최종 연산을 통해 데이터를 처리하는 기능을 제공한다.

 

이론적으로 봤을 땐 어렵다.. 

배열의 연산에서 유용하게 쓸 수 있는 라이브러리인 듯 하다 

 

average()로 배열의 평균값을 구하되

평균값이 없는 경우를 대비하여 orElse(0) 를 같이 사용한다

평균값이 없을 경우는 0을 리턴하겠다는 뜻

 

stream()으로 활용할 수 있는 기능이 굉장히 많다 !! 외워서 사용하기는 힘들고 손에 익혀야겠다..