Algorithm/프로그래머스

[프로그래머스] Level1) 평균 구하기

햄습햄 2021. 10. 11. 12:51

문제 설명

 

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

 

 

제한 조건

 

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

 


풀이 과정 (자바)

 

arr의 원소 개수를 알기 위해 임의로 cnt라는 int형 변수를 만들었다.

 

평균값을 구하기 위해서 arr의 원소를 다 더한 후, 개수만큼 나눠주면 된다.

for문을 돌면서 answer에 i를 더했다.

그리고 마지막에 cnt(arr의 원소 개수)로 answer을 나눴다.

 

 

결과

 

 


다른 사람의 풀이

 

java.util.Arrays를 추가했다.

Arrays.stream으로 이용해 arr의 값을 스트림으로 받아 평균을 구했다.

그리고 만약 그 값이 null인 경우, 0을 반환하도록 처리했다.

 

 

기타

 

다른 사람의 풀이를 봤을 때, 한 줄로 처리할 수 있어 깔끔하긴 했으나 속도가 느렸다.

하지만 새로운 방식으로도 생각할 수 있는 계기가 되었다.

orElse 및 orElseGet 등 Java Optional이 있는 것을 알게 되었고, 관련 부분을 학습해야겠다.