ALGORITHM/SWEXPERT|SOFTEER

[Softeer] 성적 평균 (lv.3)

0298 2021. 11. 2. 22:42

https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=389 

 

Softeer

제한시간 : C/C++(1초), Java/Python/JS(2초) | 메모리 제한 : 256MB N명의 학생들의 성적이 학번순서대로 주어졌다. 학번 구간 [A, B]가 주어졌을 때 이 학생들 성적의 평균을 구하는 프로그램을 작성하라.

softeer.ai

2021


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.*;
import java.io.*;
 
 
public class Main
{
    public static int N, K;
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(bf.readLine());
        N = Integer.parseInt(st.nextToken());
        K = Integer.parseInt(st.nextToken());
 
        st = new StringTokenizer(bf.readLine());
        int[] arr = new int[N+1];
        for(int i = 1; i <= N; i++) {
            int value = Integer.parseInt(st.nextToken());
            arr[i] = arr[i-1+ value;
        }
 
        for(int i = 0; i < K; i++) {
            st = new StringTokenizer(bf.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            double value = (arr[b] - arr[a-1])/(double)(b-a+1);
            System.out.println(String.format("%.2f", value));
        }
    }
}
cs