최근 글 ✨

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

문제 설명

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

 

제한사항

  • 0 ≤ numbers의 원소 ≤ 1,000
  • 1 ≤ numbers의 길이 ≤ 100
  • 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.

 

입출력 예

 

코드

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

문제 다 풀고 다른 풀이 구경하고 있었는데 Arrays.stream을 사용하는 코드를 발견함

 

Arrays.stream()

public class Main {
    public static void main(String[] args) throws IOException {
        int[] numbers = {1,2,3,4,5,6,7,8,9,10};
        IntStream intStream = Arrays.stream(numbers);
        intStream.forEach(s-> System.out.print(s+" "));
    }
}

출력 결과

1 2 3 4 5 6 7 8 9 10

 

import java.util.Arrays;

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

orElse()

  • Optional에서 사용
  • null값이 있어도 실행 가능
  • orElse(0) → null값이면 0 출력

 

문제 출처

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