본문 바로가기
백준(Baekjoon)

[백준] 1085번 직사각형 탈출 - 자바

by IT 정복가 2022. 3. 22.
728x90

https://www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net


[문제]


[코드]

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt();
		int y = sc.nextInt();
		int w = sc.nextInt();
		int h = sc.nextInt();
		
		int xmin = Math.min(x, w-x);
		int ymin = Math.min(y, h-y);
		
		if(xmin > ymin)
			System.out.println(ymin);
		else
			System.out.println(xmin);
		sc.close();
	}
}

[설명]

1. x, y, w, h의 값을 입력 받는다.

2. 최단거리가 나올 수 있는 경우는 총 4가지로 x축으로는 x만큼의 거리, w-x만큼의 거리, y축으로는 y만큼의 거리,

   h-y만큼의 거리이다. x축, y축 각각의 최단거리를 찾기 위해 Math.min() 함수를 이용한다.

3. x축에서의 최단거리와 y축에서의 최단거리를 if문을 통해 비교해서 더 작은 값을 출력한다. 

*int xy = Math.min(x,y) >> x와 y중에서 더 작은 값을 xy에 넣는다.


[결과]

728x90