[백준] 2563 색종이 - Java

Yunki Kim·2023년 1월 5일
0

백준

목록 보기
82/104
post-thumbnail

문제


링크


코드

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 br = new BufferedReader(new InputStreamReader(System.in));

        boolean[][] backgroundArray = new boolean[100][100];

        int paperCount = Integer.parseInt(br.readLine());
        for (int i = 0; i < paperCount; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            int x = Integer.parseInt(st.nextToken());
            int y = Integer.parseInt(st.nextToken());

            for (int j = x; j < (x + 10); j++) {
                for (int k = y; k < (y + 10); k++) {
                    backgroundArray[j][k] = true;
                }
            }
        }
        br.close();

        int count = 0;
        for (boolean[] array : backgroundArray) {
            for (boolean check : array) {
                if (check) count++;
            }
        }
        System.out.println(count);
    }
}

리뷰

색종이의 넓이를 구하는데 겹쳐지는 부분이 있기에 이 부분을 생각해야한다.

그렇다면 도화지의 크기만큼의 배열을 생성하고 색종이가 놓인 위치의 인덱스에 값을 넣고 값이 들어있는 부분만 체크하면 문제에서 요구하는 색종이가 놓여진 검은 영역의 넓이를 확인할 수 있다.

0개의 댓글