티스토리 뷰

반응형

문제

문제 출처

programmers.co.kr/learn/courses/30/lessons/12944

문제 설명

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

제한 사항

  • arr은 길이 1 이상, 100 이하인 배열입니다.
  • arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

입출력 예

arr return
[1,2,3,4] 2.5
[5,5] 5

 

풀이

  1. 배열의 모든 수를 더한다.
  2. 배열의 크기로 나눠 평균값을 구한다.
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;
    }
}

 

다른 사람의 풀이

  1. java.util.Arrays의 stream 함수를 이용해 int 배열을 IntStream으로 변경한다.
  2. IntStream의 average 함수를 이용해 평균을 구한다.
  3. average 함수는 OptionalDouble형을 return하는데 값이 존재하지 않는 경우가 있을 수 있으므로 orElse 함수를 이용해 예외처리를 해준다.
import java.util.Arrays;

class Solution {
    public double solution(int[] arr) {
        return (double) Arrays.stream(array).average().orElse(0);
    }
}

 

참고

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함