알고리즘 연습/Lv.1
[ 프로그래머스 ] 평균구하기 JAVA
코딩하는 너구리
2020. 5. 4. 00:51
반응형
평균구하기
문제 설명
정수를 담고 있는 배열 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
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형