정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
arr | return |
---|---|
[1, 2, 3, 4] | 2.5 |
[5, 5] | 5 |
public class Average {
// 정수의 객채를 가지는 배열 arr을 매개변수로 하며, 실수를 리턴값으로 돌려주는 메소드를 생성
public double solution1(int[] arr) {
double answer = 0;
double sum = 0;
for (int i = 0; i < arr.length; i++) {
// i가 반복해서 돌면서 arr의 i번째 객체가 sum에 더해짐
sum += arr[i];
}
// 최종적으로 나온 sum의 값을 배열 arr에 들어있는 객체의 수로 나눔
answer = sum / arr.length;
return answer;
}
public double solution2(int[] array) {
// 1.Arrays는 배열을 다루기 위해 다양한 메소드가 포함되어 있는 클래스임
// Arrays 클래스의 모든 메소드는 클래스 메소드(static한 메소드)이기 때문에
// 객체 생성 없이 바로 사용 가능함
// (Average arr = new Average() <- 객체 선언할 필요가 없음)
// 2.stream 메소드는 다양한 함수를 이용할 수 있게 해줌
// (어떤 기능을 일일이 코딩할 필요 없이 한 단어의 함수로 표현 가능함)
// 배열의 평균을 구하되 값이 안나오면 0을 출력해라
return (double) Arrays.stream(array).average().orElse(0);
}
public static void main (String[] args) {
Average average = new Average();
int[] arr1 = {1, 2, 3, 4};
int[] arr2 = {5, 5};
System.out.println(average.solution1(arr1)); // 2.5 출력
System.out.println(average.solution1(arr2)); // 5 출력
System.out.println(average.solution2(arr1)); // 2.5 출력
System.out.println(average.solution2(arr2)); // 5 출력
}
}