본문 바로가기

백준 문제풀기/JAVA

[백준 9063 JAVA 자바] 대지

문제가 굉장히 길지만

핵심은

 

n개의 점을 모~두 포함하는

최소 직사각형을 만들고

그 직사각형의 크기를 구하는게 문제입니다

 

어우 어려운데?

라고 생각 할 수 있지만

 

예제의 그림만 자세히 보면 답을 알 수 있습니다

 

점의 좌표를 x따로 y따로 나열해서

x좌표의 최소, 최대값을 구하고

y좌표의 최소, 최대값을 구하면

뚝딱입니다

 

코드 갈게요~

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        
        int k=scan.nextInt();
        
        int[] arrx = new int[k];
        int[] arry = new int[k];
        
        for(int i=0;i<k;i++) {
        	arrx[i]=scan.nextInt();
        	arry[i]=scan.nextInt();
        }
        
        int minx = arrx[0];
        int maxx = arrx[0];
        int miny = arry[0];
        int maxy = arry[0];
        
        for(int i=1;i<k;i++) {
        	if(arrx[i]>maxx)maxx=arrx[i];
        	if(arrx[i]<minx)minx=arrx[i];
        	if(arry[i]>maxy)maxy=arry[i];
        	if(arry[i]<miny)miny=arry[i];
        }       
        System.out.println((maxy-miny)*(maxx-minx));     
    }
}

 

간단한 문제엿습니다

'백준 문제풀기 > JAVA' 카테고리의 다른 글

[백준 9498 JAVA 자바] 시험 성적  (0) 2023.08.11
[백준 9086 JAVA 자바] 문자열  (0) 2023.08.11
[백준 9012 JAVA 자바] 괄호  (0) 2023.08.11
[백준 8958 JAVA 자바] OX퀴즈  (0) 2023.08.11
[백준 8393 JAVA 자바] 합  (0) 2023.08.11