처음에 간단한 문제 풀때는 무지성으로 머리속으로만 코딩하면서 문제가 풀렸는데
조금만 복잡한 문제보이면 머리속 뇌정지와서
생각부터 하려하지 말고 문제를 단계별로 나눠서 이해하고,
풀이 과정도 단계별로 나눠서 한 단계씩 코딩하고
중간에 내가 생각한것들이 맞는지 중단점 걸어서 디버깅하니까
마지막에 신기하게 정답이 출력됨.


내가 생각해낸 코드가 실행이 된다는 쾌감에 중독될거 같으면서도 다 풀면 머리가 아픔..




using System;


public class Program

{

    public static void Main(string[] args)

    {

        // 문제.

        // 첫째 줄에 색종이의 수가 주어진다.

        // 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다.

        // 색종이를 붙인 위치는 두 개의 자연수로 주어지는데

        // 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고,

        // 두 번째 자연수는 색종이의 아래쪽 변과 도화지의 아래쪽 변 사이의 거리이다.

        // 색종이의 수는 100 이하이며, 색종이가 도화지 밖으로 나가는 경우는 없다


        // 문제 분석.

        //1. 첫째 줄에 색종이 수 입력.

        //2. 색종이 수에 따라 색종이를 붙인 좌하단 x y좌표를 공백으로 구분하여 입력

        //3. 색종이 크기는 10X10

        //4. 겹친 부분을 제외한 색종이의 넓이


        // 풀이 분석.

        //1. N변수에 색종이 수 입력.

        //2. for문으로 색종이 수에 따른 x y를 입력. 입력받은 값은 배열에 저장.

        //입력받은 색종이 수에 따른 좌표 값 2차배열에 할당.

        //3. 도화지 크기가 100x100 이며 넘어갈 수 없다.

        //도화지를 2차 배열에 할당


        //4. x좌표가 10, y좌표가 10이라고 하면

        //ex) paper 2차배열에 10,10 에서 19 19 까지 정수 1값 적용하여 할당.


        //5. paper 2차원 배열의 모든 값을 더하여 int sum에 넣어 넓이를 구함.


        //6. 예시)

        //입력

        //3

        //3 7

        //15 7

        //5 2


        //출력

        //260


        int N = int.Parse(Console.ReadLine());


        int[,] lv2_1 = new int[N,2];

        int[,] paper = new int[100,100];


        


        int sum=0;


        for (int i=0; i < N; i++)

        {

            string input = Console.ReadLine();

            string[] nums = input.Split(' ');

            int x = int.Parse(nums[0]);

            int y = int.Parse(nums[1]);


            lv2_1[i,0] = x;

            lv2_1[i,1] = y;

        }


        for (int i = 0; i < N; i++)

        {

            int x = lv2_1[i,0];

            int y = lv2_1[i,1];

            for(int j=0;j<10;j++)

            {

                for(int k = 0; k <  10; k++)

                {

                    paper[x, y] = 1;

                    x++;

                }

                y++;

                x -= 10;

            }

            y -= 10;

        }

        for(int i=0;i<100;i++)

        {

            for(int j = 0; j < 100; j++)

            {

                sum += paper[i,j];

            }

        }

        Console.WriteLine(sum);

    }

}