백준 2563번

김경욱·2025년 8월 3일

백준

목록 보기
18/121

import java.util.Scanner;

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

    boolean[][] paper = new boolean[100][100];

    int time = in.nextInt();





    for (int i =0; i < time; i++)
    {
        int x = in.nextInt();

        int y = in.nextInt();


        for (int row =x; row < x+10; row++)
        {
            for (int col = y; col < y+10; col++){
                paper[row][col] = true;
            }
        }
    }

    int result = 0;

    for (int i = 0 ; i< 100; i++)
    {
        for (int j=0; j < 100; j++)
        {
            if (paper[i][j]) {
                result++;
            }
        }
    }

    System.out.println(result);















}

}
코드가 정말 아름답다. 나는 이번에도 boolean을 이용해서 풀거라곤 생각하지 못했다. 그래서 수 많은 오류가 생겨서 지피티를 통해 boolean을 이용하는걸 깨달았다. 나는 맨처음에 i번째 사각형을 기준으로 i+n이 x가 더 크고 y가 더 크고, x가 더 크고 y가 더 작고,x가 더 작고 y가 더 크고,x가 작 크고 y가 더 작고 이렇게 4가지 상황을 if문을 통해서 작성했는데 생각해보니까 사각형 3개가 겹치는 경우에는 답이 없었다. 그래서 그때 바로 깨닫고 지피티를 이용했다. 내가 작성한 코드는 정말 길었는데 boolean의 true와 false를 이용하니 중복된 부분도 깔끔하게 정리돼었다. 적어도 나의 기준에선 코드가 정말 간결하고 깔끔한 것 같다. boolean을 이용하는걸 다시 생각해봐야 할 것 같다.

0개의 댓글