[Baekjoon] 2563번: 색종이

2023. 3. 14. 17:49Computer Sciences/Problem Solve

https://www.acmicpc.net/problem/2563

 

2563번: 색종이

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록

www.acmicpc.net

문제 설명

100x100 크기의 도화지가 있다. 이 도화지에 10x10 색종이를 덮는다. 이때 덮어진 색종이의 총넓이를 구하면 된다. 색종이가 도화지를 벗어나는 경우는 없다.

풀이 방법

간단하게 반복문을 돌면서 색종이를 색칠하면 된다.

package baekjoon.array;

import java.io.*;

public class BOJ2563 {

    static boolean[][] paper = new boolean[101][101];

    public static void main(String[] args) throws IOException {
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            int N = Integer.parseInt(br.readLine());
            int answer = 0;

            for (int i = 0; i < N; i++) {
                String[] split = br.readLine().split(" ");

                int px = Integer.parseInt(split[0]);
                int py = Integer.parseInt(split[1]);

                for (int x = px; x < px + 10; x++) {
                    for (int y = py; y < py + 10; y++) {
                        if (!paper[x][y]) {
                            answer++;
                            // 이미 색칠된 곳은 다시 칠하지 않도록 true 처리
                            paper[x][y] = true;
                        }
                    }
                }
            }

            System.out.print(answer);
        }
    }
}