백준

[JAVA] 백준 1085번 직사각형에서 탈출

DEV장화 2023. 3. 30. 15:02
728x90
반응형
문제

 

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.

 

 

입력

 

첫째 줄에 x, y, w, h가 주어진다.

 

 

출력

 

 

첫째 줄에 문제의 정답을 출력한다.

 

 

풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
        int y = scanner.nextInt();
        int w = scanner.nextInt();
        int h = scanner.nextInt();

        // 왼쪽 && 아래 가까움
        if ((w-x) >= x && (h-y) >= y){
            System.out.println(x > y ? y : x);
        }
        // 왼쪽 && 위 가까움
        else if ((w-x) >= x && (h-y) <= y) {
            System.out.println(x > h-y ? h-y : x);
        }
        // 오른쪽 && 아래 가까움
        else if ((w-x) <= x && (h-y) >= y) {
            System.out.println(w-x > y ? y : w-x);
        }
        // 오른쪽 && 위 가까움
        else if ((w-x) <= x && (h-y) <= y) {
            System.out.println(w-x > h-y ? h-y : w-x);
        }

    }
}

 

728x90
반응형