CT

[BOJ] 7단계 2차원 배열

kinggora 2023. 4. 3. 20:37
1 2738 행렬 덧셈
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
        int N = Integer.parseInt(tokenizer.nextToken());
        int M = Integer.parseInt(tokenizer.nextToken());
        int[][] matrix = new int[N][M];
        for(int k = 0; k < 2; k++){
            for(int i = 0; i < N; i++) {
                tokenizer = new StringTokenizer(reader.readLine());
                for(int j = 0; j < M; j++) {
                    matrix[i][j] += Integer.parseInt(tokenizer.nextToken());
                }
            }
        }
        //결과 출력
        for(int i = 0; i < N; i++) {
            for(int j = 0; j < M; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
    }
}

 

2 2566 최댓값
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int row = 0;
        int col = 0;
        int max = 0;
        for(int i = 1; i <= 9; i++) {
            StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
            for(int j = 1; j <= 9; j++) {
                int num = Integer.parseInt(tokenizer.nextToken());
                if(num >= max) {
                    max = num;
                    row = i;
                    col = j;
                }
            }
        }
        System.out.println(max);
        System.out.println(row + " " + col);
    }
}

 

3 10798 세로읽기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        char[][] arr = new char[15][5];
        for(int i = 0; i < 5; i++) {
            String str = reader.readLine();
            for(int j = 0; j < str.length(); j++) {
                arr[j][i] = str.charAt(j);
            }
        }

        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j++) {
                if(arr[i][j] != '\0') {
                    System.out.print(arr[i][j]);
                }

            }
        }
    }
}

*자바에서 char 초기값: '\0'

 

4 2563 색종이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(reader.readLine());
        //도화지: 100 * 100
        //색종이: 10 * 10
        int[][] paper = new int[100][100];
        for(int i = 0; i < n; i++) {
            StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
            int col = Integer.parseInt(tokenizer.nextToken());
            int row = Integer.parseInt(tokenizer.nextToken());
            for(int j = 0; j < 10; j++) {
                for(int k = 0; k < 10; k++) {
                    paper[row+j][col+k] = 1;
                }
            }
        }
        int area = 0;
        for(int i = 0; i < 100; i++) {
            for(int j = 0; j < 100; j++) {
                area += paper[i][j];
            }
        }
        System.out.print(area);
    }
}