백준

백준 2669 직사각형 네개의 합집합의 면적 구하기(Java)

Park DJ 2023. 1. 16. 22:44

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

 

2669번: 직사각형 네개의 합집합의 면적 구하기

입력은 네 줄이며, 각 줄은 직사각형의 위치를 나타내는 네 개의 정수로 주어진다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭짓점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 2차원 배열을 선언하여 범위에 들어갈경우 값을 1로 넣습니다. 그 후에 반복문을 통해 값이 1인 것의 개수를 출력해주면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

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

    int[][] arr = new int[101][101];
    int count = 0;
    
    for(int i = 0; i < 4; i++) {
      int x1 = sc.nextInt();
      int y1 = sc.nextInt();
      int x2 = sc.nextInt();
      int y2 = sc.nextInt();

      for(int j = x1; j < x2; j++) {
         for(int k = y1; k < y2; k++) {
           arr[j][k] = 1;
        }
      }
      
    }
    
    for(int i = 0; i < 101; i++) {
      for(int j = 0; j < 101; j++) {
        if(arr[i][j] == 1) count++;
        }
      }
    
    System.out.println(count);
  }
}