JuSeok

1085번

문제

  • x, y좌표와 w, h길이의 직사각형이 주어질 때 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 문제

문제 해결 순서

  1. (x, y)좌표에서 각 변까지의 거리를 구한 후 가장 작은 거리를 출력
    (1차 삽질 멍청하게 직사각형을 4등분으로 나눠서 (x, y)좌표가 어느 사분면에 있는지 구하고 등등 이상한 방법으로 접근함. 왜 그랬을까..)
import java.util.Scanner;
class Main { 
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int x = scan.nextInt();
            int y = scan.nextInt();
            int w = scan.nextInt();
            int h = scan.nextInt();
    
            // 아래쪽과의 거리
            int a = y;
            // 왼쪽과의 거리
            int b = x;
            // 오른쪽과의 거리
            int c = w - x;
            // 윗쪽과의 거리
            int d = h - y;
    
            int min1, min2;
            if(a > b){
                min1 = b;
            }
            else{
                min1 = a;
            }
            if(c > d){
                min2 = d;
            }
            else{
                min2 = c;
            }
    
            if(min1 < min2){
                System.out.print(min1);
            }
            else{
                System.out.print(min2);
            }
        }
}

Tags