YoungSoo

백준 - 2차원 배열(2738, 2566, 2563 Java 풀이) 본문

코딩테스트

백준 - 2차원 배열(2738, 2566, 2563 Java 풀이)

YoungSooSoo 2022. 11. 1. 22:36
/*1(2738). public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int M = sc.nextInt();
    int[][] c = new int[N][M];
    int[][] d = new int[N][M];

    for(int i=0; i<N; i++) {
        for (int j = 0; j < M; j++) {
            c[i][j] = sc.nextInt();
        }
    }
    for(int i=0; i<N; i++) {
        for (int j = 0; j < M; j++) {
            d[i][j] = sc.nextInt();
        }
    }

    for(int i=0; i<N; i++) {
        for (int j = 0; j < M; j++) {
            System.out.print((c[i][j] + d[i][j]) + " ");
        }
        System.out.println();
    }
}*/
/*2(2566). public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int a = 0, b = 0, max = 0;
    int[][] c = new int[9][9];

    for(int i=0; i<9; i++){
        for(int j=0; j<9; j++){
            c[i][j] = sc.nextInt();
        }
    }

    for(int i=0; i<9; i++){
        for(int j=0; j<9; j++){
            if(max <= c[i][j]){
                max = c[i][j];
                a=i+1;b=j+1;
            }
        }
    }
    System.out.println(max);
    System.out.print(a + " " + b);
}*/
/*3(2563).
   public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    int[][] c = new int[100][100];
    int count = 0;

    for(int i=0; i<a; i++){
        int x = sc.nextInt();
        int y = sc.nextInt();

        for(int j=x; j<x+10;j++){
            for(int k=y; k<y+10; k++){
                c[j][k] = 1;
            }
        }
    }

    for(int i=0; i<100; i++){
        for(int j=0; j<100; j++){
            if(c[i][j]==1){
                count++;
            }
        }
    }
    System.out.println(count);
}
*/

3문제를 풀어봤는데 3번째 문제인 색종이를 풀며 생각을 다르게 하는 계기가 되었다.

기억에 남는 색종이의 풀이만 올려보려고 한다.

색종이 문제 풀이

1. 가로, 세로의 크기가 각각 100인 정사각형 모양의 도화지를 배열로 만들어준다.

2. 도화지에 가로, 세로의 크기가 각각 10인 정사각형 모양의 색종이를 붙인다고 생각하고

     검은색 색종이가 붙어 있는 공간에 1을 넣어준다.

3. 반복문을 통해 1이 있는 공간의 수를 세어주어 모두 합해주면 된다.