Algorithm/Programmers

프로그래머스[Level 1] - 평균 구하기 (java)

아이딕 2022. 9. 15. 13:49
728x90
반응형

- 문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

- 제한사항

arr은 길이 1 이상, 100 이하인 배열입니다.

arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

 

-나의 풀이

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;
    }
}

arr에 있는 값을 반복문을 통해 answer에 값을 더 했고, 모든 값을 더해준 answer값을 arr의 갯수로 나눠 평균 값을 구했다. 

 

-다른사람의 풀이

import java.util.*;
import java.lang.*;

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

나와는 다르게 이 분은 반복문을 사용하지 않고 Arrays stream함수를 이용해서 배열의 평균값을 한 줄에 해결하셨다..

stream함수는 거의 사용을 안해보기도 했고, 아직 손에 익숙하지 않아, 문제를 풀 때, 생각이 잘 나지 않는데, 확실히 익숙해질 필요성을 이번 기회를 통해 느꼈다.

728x90
반응형