[백준] 9063번 대지 Java 문제 풀이

2023. 3. 21. 18:04알고리즘/백준

728x90
반응형

문제풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

interface Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;

        int N = Integer.parseInt(br.readLine());

        int minX = 10000, minY = 10000, maxX = -10000, maxY = -10000;
        for(int i=0; i<N; i++) {
            int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
            minX = minX>input[0]?input[0]:minX;
            minY = minY>input[1]?input[1]:minY;
            maxX = maxX<input[0]?input[0]:maxX;
            maxY = maxY<input[1]?input[1]:maxY;
        }
        System.out.println((maxX - minX) * (maxY - minY));
    }
}

옥구슬이 발견된 지점을 포함하는 동서남북과 평행한 (최소 크기의) 직사각형은

주어진 옥구슬 X, Y좌표들 중에 가장 크고 작은 지점과 접해야 합니다.

 

X좌표 최소값, X좌표 최대값, Y좌표 최소값, Y좌표 최대값을 구하면 직사각형 변의 길이를 알 수 있습니다.

 

출처 : https://www.acmicpc.net/problem/9063

 

9063번: 대지

첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. 

www.acmicpc.net

 

728x90
반응형