반응형
평균구하기
문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
입출력 예
[1,2,3,4] | 2.5 |
[5,5] | 5 |
문제 접근 방식
-> for문을 사용하여 전체 정수에 접근하려고 했습니다. 총합을 구한 뒤 갯수만큼 나누어 평균값을 찾으려고 했습니다.
class Solution {
public double solution(int[] arr) {
double answer = 0;
for (int i = 0; i < arr.length; i++) {
answer += arr[i];
}
answer /= arr.length;
return answer;
}
}
문제 풀이
평균을 찾아야 하므로 double형 변수 answer를 선언했습니다.
주어진 배열만큼 반복하면서 총합을 구한 뒤, 배열 길이만큼 나누어 정답을 출력했습니다.
고수의 풀이
Arrays와 stream에서 제공하는 average() 함수를 사용하여 편리하게 풀이할 수 있습니다.
단 한 줄로 해결할 수 있기 때문에, stream 문법을 잘 숙지해두면 좋을 것 같습니다.
import java.util.*;
class Solution {
public double solution(int[] arr) {
return Arrays.stream(arr).average().orElse(0);
}
}
출처 : https://programmers.co.kr/learn/courses/30/lessons/12944
반응형
'알고리즘 연습 > Lv.1' 카테고리의 다른 글
[ 프로그래머스 ] 약수의 합 JAVA (0) | 2020.08.01 |
---|---|
[ 프로그래머스 ] 자릿수 더하기 JAVA (0) | 2020.05.04 |
[ 프로그래머스 ] 정수 제곱근 판별 JAVA (0) | 2020.05.04 |
[ 프로그래머스 ] 짝수와 홀수 JAVA (0) | 2020.05.04 |