문제
https://www.acmicpc.net/problem/1085
(x, y)에서 직사각형 경계까지의 거리 중 가장 짧은 거리를 구하는 문제였다.
문제 풀이
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer t=new StringTokenizer(br.readLine(), " ");
int x=Integer.parseInt(t.nextToken());
int y=Integer.parseInt(t.nextToken());
int w=Integer.parseInt(t.nextToken());
int h=Integer.parseInt(t.nextToken());
if((w>=1 && w<=1000) && (h>=1 && h<=1000) && (x>=1 && x<=w-1) && (y>=1 && y<=h-1)){
int min=Math.min(Math.min(x, w-x), Math.min(h-y, y));
System.out.println(min);
}
}
}
Math.min(x, w-x): 수평 경계선과의 최소 거리를 구한다.
Math.min(y, h-y): 수직 경계선과의 최소 거리를 구한다.
두 값 중에서 더 작은 값을 선택해서 전체 경계선까지의 최단 거리를 구한다.
조건이 있기 때문에 조건을 걸어줘야 한다.
'코딩테스트 > 백준' 카테고리의 다른 글
[백준/JAVA]15894번 수학은 체육과목 입니다 (0) | 2025.05.17 |
---|---|
[백준/JAVA]3009번 네 번째 점 (0) | 2025.05.16 |
[백준/JAVA]27323번 직사각형 (0) | 2025.05.16 |
[백준/JAVA]11653번 소인수분해 (0) | 2025.05.09 |
[백준/JAVA]2581번 소수 (0) | 2025.05.08 |