sm 기술 블로그

97. 1085(직사각형에서 탈출) 본문

문제/백준_자바

97. 1085(직사각형에서 탈출)

sm_hope 2022. 6. 21. 19:48
import java.util.*;
import java.io.*;

class Main{
	public static void main(String[] args)throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Integer> repo = new ArrayList<>();
		
		String[] sBits = br.readLine().split(" ");
		int x = Integer.parseInt(sBits[0]);
		int y = Integer.parseInt(sBits[1]);
		int w = Integer.parseInt(sBits[2]);
		int h = Integer.parseInt(sBits[3]);
		
		repo.add(w-x);
		repo.add(h-y);
		repo.add(x);
		repo.add(y);
				
		System.out.println(Collections.min(repo));
	}
}

문제요약

.(0,0) 부터 (w,h)의 직사각형이 있다. x,y가 주어지는데 경계값을 가는 최소거리를 구하라.

해설

문제를 이해하면 크게 어렵지 않다.

다음과 같이 (0,0)에서 (762,375) 크기의 직사각형이 있을 때, 점 (161,181)이 경계값에 닿을 수 있는 최소거리를 구하면된다.

따라서 (x축)161이 0 이나 762에 혹은 (y축)181이 0이나 375에 닿는 네가지 경우 중 최소값을 구하면 된다.

'문제 > 백준_자바' 카테고리의 다른 글

99. 4153(직각삼각형)  (0) 2022.06.21
98. 3009(네 번째 점)  (0) 2022.06.21
96. 11478(서로 다른 문자열의 개수)  (0) 2022.06.21
95. 1269(대칭 차집합)  (0) 2022.06.21
94. 1764(듣보잡)  (0) 2022.06.20
Comments