성적 평균

문제 링크 : https://softeer.ai/practice/6294

접근 방식

성적을 입력받는다.

주어진 성적을 기준으로, 범위를 지정해서 합을 구한다.

지정된 범위의 평균을 구해서 출력한다.

여기서 중요한 점은, 소수점 셋째자리에서 반올림해서 둘째자리까지만 표시해야 하는 것이다.

결과

소스 코드

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        int N = sc.nextInt(); // 학생 수
        int K = sc.nextInt(); // 구간 수
        double arr[] = new double[N];
        for(int i=0; i<N; i++) arr[i] = sc.nextInt(); // 성적 입력
        for(int i=0; i<K; i++){
            int start = sc.nextInt()-1;
            int end = sc.nextInt()-1;
            double sum = 0;
            for(int j=start; j<=end; j++){
                sum+=arr[j];
            }
            String result = String.format("%.2f",sum/(end-start+1));
            sb.append(result);
            if(i!=K-1) sb.append("\n");
        }
        System.out.println(sb.toString());
    }
}

주어진 구간의 합을 구하고, format을 통해 소수점 둘째자리까지만 표시하도록 했다.

알게 된 점

없음.