백준

백준 9063번 c#

대왕군 2024. 2. 2. 15:54

 

 

using System;

namespace Baekjoon
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //그냥 콘솔창 예쁘게 꾸미는 코드(심심해서 넣음)
            Console.BackgroundColor = ConsoleColor.DarkCyan;;

            //구슬 갯수 받아옴
            int bead = int.Parse(Console.ReadLine());

            //구슬 좌표 임시로 받아올 변수
            string[] coordinate = new string[2];

            //각 구슬 좌표의 x,y 값들을 저장할 변수
            int[] x = new int[bead];
            int[] y = new int[bead];

            //발견한 구슬 개수만큼 반복
            for (int i = 0; i < bead; i++)
            {
                //임시로 구슬 좌표를 받아옴
                coordinate = Console.ReadLine().Split();
                //배열 x,y에 구슬좌표를 x,y 축으로 각각 나누어 저장
                x[i] = int.Parse(coordinate[0]);
                y[i] = int.Parse(coordinate[1]);
            }

            //만약 발견한 구슬 개수가 1일때 사각형을 만들 수 없으므로 0출력
            if (bead == 1)
            {
                Console.WriteLine(0);
            }
            //구슬이 2개 이상 발견됐을 때 실행
            else
            {
                //x,y의 최댓값과 최솟값을 구하기 위해 오름차순 정렬해줌
                //조건에는 (첫째 줄에 N 개의 점을 둘러싸는 최소 크기의 직사각형의 넓이를 출력하시오.) 라고 되어있는데
                //좀 더 쉽게 생각해서 내가 가진 점의 위치만으로 가장큰 직사각형의 넓이를 구하면 된다
                Array.Sort(x);
                Array.Sort(y);
                //x좌표 제일 작은수 - x좌표 제일 큰수를 절댓값으로 구해준다
                //y좌표도 마찬가지로 구해준 후 나온 두 숫자(가로변과 세로변)을 곱하여 넓이를 출력한다
                Console.WriteLine(Math.Abs(x[0] - x[bead - 1]) * Math.Abs(y[0] - y[bead - 1]));
            }

        }

    }
}

'백준' 카테고리의 다른 글

백준 5073번 c#  (0) 2024.02.03
백준 10101번 c#  (0) 2024.02.02
백준 15894번 c#  (0) 2024.02.02
백준 3009번 c#  (0) 2024.02.01
백준 1085번 c#  (0) 2024.02.01