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

fever·2024년 7월 23일
0

99클럽 코테 스터디

목록 보기
2/42

🛠️ 문제

💻 풀이

  • 처음 풀이: 문제를 보자마자 깊은 생각 없이 풀어버렸던 첫번째 방식이다. 너무나도 단순하게 arr를 for문으로 돌려서 누적합 이후에, length 크기로 나눠버림... 그랬더니 손쉽게 풀렸던 문제...😂
    원시적인 방법이라 누구보다 빠르게 풀 순 있지만, 가독성이나 에러처리 같은 건 1도 고려하지 못한 방식이다.
class Solution {
    public double solution(int[] arr) {
        int sum = 0;
        for (int a : arr) {
            sum += a;
        }
        return  (double) sum / arr.length;
    }
}
  • 두번째 풀이: 조금 더 머리를 쓰면서 스트림을 사용해보았다. 자바8부터 도입되었지만 개념만 알고 제대로 쓴 적이 없어서 약간의 고민 후에 완료! arr를 배열스트림으로 만들고, 평균을 구하는 것. orElseOptionalDouble로 반환하기 때문에 값이 없을 경우를 대비해서 0.0 (double)로 넣어주었다.
import java.util.Arrays;

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

🤔 고찰

  1. 코테를 풀 때 조금 더 침착하고, 깊게 생각해보자.
  2. 속도가 빠른 코드가 좋을까? 아니면 길이가 짧은 코드가 좋을까?
  3. 가독성이 좋은 코드란 무엇일까?
  4. 예외처리는 어떻게 진행해야지 깔끔한 것일까?
profile
선명한 삶을 살기 위하여

0개의 댓글