개발 공부/TIL(Today I Learned)

99클럽 코테 스터디 2일차 TIL 평균 구하기

애해 2024. 7. 23. 16:52
728x90

# 학습 키워드 

배열

 

# 오늘의 문제 

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

제한사항

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

 

# 나의 풀이방식 

class Solution {
    public double solution(int[] arr) {
        double answer = 0;

        int num = arr.length;
        double total = 0.0;

        for(int i = 0; i < num; i ++) {
            total += arr[i];
        }

        answer = total / num ;

        return answer;
    }
}

 

# 오늘의 회고 

배열안의 숫자를 모두 더해서 배열의 길이만큼 나눠서 return 해주었다.

다른 사람 풀이를 보면 코드는 더 간결한데 시간복잡도가 높았다. 

왜 그런가 찾아봤더니 stream이 내부최적화가 덜 되어있고 하나의 element에 복잡한 계산방식이 있는 경우에만 추천한다. 

 

# 다른사람 풀이

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

class Solution {
    public double solution(int[] arr) {

        return Arrays.stream(arr).average().getAsDouble();
    }
}

 

# 오늘의 공부 

 

코드가 간결하면 가독성이 좋지만 능사는 아니다!

반응형