You will be fine

<Algorithm> 180. 은기의 송아지 세기(SWExpert)

by BFine
반응형

1. 은기의 송아지 세기(SWExpert)

   사용 알고리즘 :  구간합

  • 간단한 구간합 문제, 풀면서 확실하게 구간합을 어떨때 쓰는지 알게 되었다.

문제에 대한 접근&생각

  1. 구간에 따라 송아지의 품종 합을 출력 -> 구간합!

내 코드 


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
30
31
32
33
34
import java.util.Scanner;
 
public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int test = sc.nextInt();
        /***************************
         * 송아지의 품종 수를 누적해서 누적합을
         * 구하고 주어진 구간에 대한 구간합을
         * 출력한다.
         ***************************/
        for(int t=1; t<=test; t++) {
            int n = sc.nextInt();
            int q = sc.nextInt();
            int[][] cowsum = new int[n+1][4]; 
            for(int i = 1; i <= n; i++) {
                int a = sc.nextInt();
                for(int j = 1; j < 4; j++) {
                    cowsum[i][j] = cowsum[i-1][j];
                }
                cowsum[i][a]++;
            }
            System.out.println("#"+t);
            while(q-->0) {
                int l = sc.nextInt();
                int r = sc.nextInt();
                System.out.print(cowsum[r][1]-cowsum[l-1][1]+" ");
                System.out.print(cowsum[r][2]-cowsum[l-1][2]+" ");
                System.out.println(cowsum[r][3]-cowsum[l-1][3]);
            }
        }
    }
}
 
cs


반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기