https://www.acmicpc.net/problem/1085
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램
www.acmicpc.net
문제
한수는 지금 (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는 정수
핵심
1. scanner를 통해 4개의 정수를 입력받는다.
2. 우리가 비교해야할 건 x , y , w-x, h-y 중 가장 작은 값을 도출해내면 된다.
3. Math.min()메서드를 이용했는데, min메서드는 두값만 비교 가능하므로 x,y를 비교한값과 w-x,h-y를 비교한 값을 다시 min으로 비교하면 최솟값이 나온다.
import java.util.Arrays;
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();
System.out.println(Math.min(Math.min(x,y),Math.min(w-x,h-y)));
}
}
'Algorithm' 카테고리의 다른 글
| [백준 알고리즘 JAVA] 9063번 대지 (0) | 2024.04.10 |
|---|---|
| [백준 알고리즘 JAVA] 3009번 네 번째 점 (0) | 2024.04.10 |
| [백준 알고리즘 JAVA] 27323번 직사각형 (1) | 2024.04.10 |
| [백준 알고리즘 JAVA] 2738번 행렬 덧셈 (1) | 2024.04.09 |
| [백준 알고리즘 JAVA] 2566번 최댓값 (3) | 2024.04.09 |