Algorithm/Java

[백준알고리즘] 1085번 직사각형에서 탈출 (JAVA)

yujin.me 2021. 3. 12. 11:22

문제

한수는 지금 (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.util.*;
import java.lang.*;
import java.io.*;

public class Main{
	public static void main (String[] args) throws java.lang.Exception	{
		Scanner sc = new Scanner(System.in);
		
		int x = sc.nextInt();
		int y = sc.nextInt();
		int w = sc.nextInt();
		int h = sc.nextInt();
		
		// x와 y축 최소거리 중 가장 작은 값
		System.out.print(Math.min(Math.min(w-x, x),Math.min(h-y, y)));
	}
}

문제만 이해하면 간단하게 풀 수 있다.

Math.max() : 두 인자 값 중 큰 값을 리턴하는 함수
Math.min() : 두 인자 값 중 작은 값을 리턴하는 함수

 

그림 참고

st-lab.tistory.com/86

 

[백준] 1085번 : 직사각형에서 탈출 - JAVA [자바]

https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보..

st-lab.tistory.com

 

출처

www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net

 

반응형