뱁새유니버스

[알고리즘5] 색종이 붙이기 문제

by 뱁새유니버스

IT

색종이 붙이기 문제로 100 X 100 2차원 배열에서 색종이들의 공간을 구하는 알고리즘입니다.

package algorithm;

import java.io.*;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // 도화지의 크기는 100x100, 초기화를 통해 모든 칸을 흰색(0)으로 채움
        int[][] canvas = new int[100][100];

        int N = sc.nextInt(); // 색종이의 수

        for (int i = 0; i < N; i++) {
            int x = sc.nextInt(); // 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리
            int y = sc.nextInt(); // 색종이의 아래쪽 변과 도화지의 아래쪽 변 사이의 거리

            // 색종이의 크기는 10x10으로 고정
            for (int j = x; j < x + 10; j++) {
                for (int k = y; k < y + 10; k++) {
                    canvas[j][k] = 1; // 검은색으로 칠함
                }
            }
        }

        // 전체 도화지에서 검은색의 넓이 계산
        int blackArea = 0;
        for (int i = 0; i < 100; i++) {
            for (int j = 0; j < 100; j++) {
                blackArea += canvas[i][j];
            }
        }

        System.out.println(blackArea); // 결과 출력

        sc.close();
    }
}
반응형

블로그의 정보

가슴이 웅장해지는 모든것

뱁새유니버스

활동하기