한수는 지금 (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는 정수
6 2 10 3
1
1 1 5 5
1
653 375 1000 1000
347
161 181 762 375
161
-문제를 번역한 사람: baekjoon
import java.util.Scanner;
public class Code1085 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int x,y,w,h;
x=scanner.nextInt();
y=scanner.nextInt();
w=scanner.nextInt();
h=scanner.nextInt();
int min=0;
int[] distance=new int[4];
distance[0]=x;
distance[1]=y;
distance[2]=w-x;
distance[3]=h-y;
min=distance[0];
for(int i=0;i<4;i++) {
if(min>distance[i]) {
min=distance[i];
}
}
System.out.println(min);
}
}
최소 길이를 구하는 데 4가지 경우의 수를 생각하면 된다
1. x좌표
2. y좌표
3. w-x좌표
4. h-y좌표
이 중 가장 작은 값이 최소 거리이다.