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

Hoxy?·2024년 7월 23일
0

99클럽 코테 스터디

목록 보기
2/42
post-thumbnail

오늘의 학습 키워드

  • 평균 구하기

공부한 내용 본인의 언어로 정리하기

class Solution {
    public double solution(int[] arr) {
        double sum = 0;
        
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        double result = sum / arr.length;
        
        return result;
    }
}

오늘의 회고

처음 든 생각은 평균을 구하려면 일단 배열의 값을 모두 더해야겠다고 생각했다. 그래서 배열의 합을 구하는 방법을 알아보았다.
for문을 사용하면 배열의 총 길이의 횟수만큼 반복해서 총 합계를 구할 수 있다는 것을 알게되었다,

 class Solution {
    public double solution(int[] arr) {
        int sum = 0;
        
        //for문 사용
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }

그리고 총 합계에 총 길이의 갯수를 나누면 평균이 나올 것이므로 그 값을 구하기 시작했다.

class Solution {
   public double solution(int[] arr) {
       int sum = 0;
       
       for(int i = 0; i < arr.length; i++){
           sum += arr[i];
       }
       
       result = sum / arr[arr.size]; //size는 Collection의 크기
       
       return result;
   }
}

여기서 size가 맞는것인가?부터 의문이 들어 검색을 하였고 sizeCollection의 크기이고 배열의 크기는 length라고 하였다. 그래서 arr[arr.length]로 수정하였다.

class Solution {
    public double solution(int[] arr) {
        int sum = 0;
        
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        
        result = sum / arr[arr.length]; //배열의 크기는 length
        
        return result;
    }
}
 

arr[arr.length]는 배열의 길이가 아닌 arr[]index의 크기였고 인덱스는 시작이 arr[0]부터 이기 때문에 결국에는 index의 크기로도 맞지 않았다.

그래서 arr[]의 길이를 구해야 하므로 arr.length로 수정 하였다.

 class Solution {
    public double solution(int[] arr) {
        int sum = 0;
        
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        result = sum / arr.length; //arr[arr.length]는 인덱스의 크기
        
        return result;
    }
}

테스트 결과 결과값이 int로 나와서 통과가 실패하였다. 그래서 총 합계인 sumdouble로 변경해 주었다.

class Solution {
    public double solution(int[] arr) {
        double sum = 0; //int 값은 소수점자리가 없이 버림처리 됌
        
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        result = sum / arr.length;
        
        return result;
    }
}

이제는 result부분에서 오류가 났고 result에도 변수 타입이 필요하다는 것을 깨달았다.

class Solution {
    public double solution(int[] arr) {
        double sum = 0;
        
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        double result = sum / arr.length; //result에도 변수 타입이 필요
        
        return result;
    }
}

테스트 결과가 통과되어 제출을 하여 통과되었고 완성되었다.

공부를 하면서 더욱 향상된 프로그래밍을 위해서는 컬렉션을 사용해야한다. 라는 말을 보았고 다른 방법으로도 풀어봐야겠다고 생각하였다.

내일은 새로운 방법으로 푼 방법을 추가를 해야겠다.

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12944

profile
하나부터 열까지 모든 것이 궁금한 개발자 취준생

0개의 댓글