home > algorithm > baekjoon > [baekjoon] 직사각형에서 탈출 (백준 1085 java 풀이)

[baekjoon] 직사각형에서 탈출 (백준 1085 java 풀이)
algorithm baekjoon step10

intro : Math 클래스의 min 메소드를 활용해서 로직 구성이 포인트

백준 문제링크

문제

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

입력

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

출력

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

제한

1 ≤ w, h ≤ 1,000
1 ≤ x ≤ w-1
1 ≤ y ≤ h-1
x, y, w, h는 정수

문제 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int value1 = Integer.parseInt(st.nextToken());
        int value2 = Integer.parseInt(st.nextToken());
        int value3 = Integer.parseInt(st.nextToken());
        int value4 = Integer.parseInt(st.nextToken());

        int[] array = new int[4];

        array[0] = value1;
        array[1] = value2;
        array[2] = Math.abs(value3 - value1);
        array[3] = Math.abs(value4 - value2);

        System.out.println(Math.min(array[0], Math.min(array[1], Math.min(array[2], array[3]))));
    }
}