백준(java)

백준 2563 java 힘들게 풀어보기

isaacagent 2023. 8. 21. 01:39
728x90

백준에서 요구하는 접근 방식은 색칠이 되어있는 칸의 영역을 알게 해주는 코드를 짜와라 라는 의견이다.

 

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

        int num = sc.nextInt();

        int[][] arr = new int[num][2];

        for(int i = 0; i < num; i++){
            for(int j =0; j< 2; j++){
                int a = sc.nextInt();
                if(a <=90){
                    arr[i][j] = a;
                }
            }
        }

        int total = num*100;
        int sum = 0;

        for(int i =0; i< num;i++){
            for(int j =i+1; j< num; j++){
                if(10>Math.abs(arr[i][0]-arr[j][0])&&10>Math.abs(arr[i][1]-arr[j][1])){
                    sum += (10-Math.abs(arr[i][0]-arr[j][0])) * (10-Math.abs(arr[i][1]-arr[j][1]));
                }
            }
        }

        total = total - sum;

        System.out.print(total);
    }
}

하지만 이 코드의 접근 방식은 (전체 넓이) - (겹친 부위의 넓이)를 빼는 과정이다.

 

다양한 방식이 있으니 한 번 구경만 하십쇼

'백준(java)' 카테고리의 다른 글

백준 10798 java  (0) 2023.08.21
백준 2739 java  (0) 2023.08.20
백준 2439 java  (0) 2023.08.20
백준 2438 java  (0) 2023.08.19
백준 11021 java  (0) 2023.08.19