반응형
풀이
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt(); //(x,y)에 위치
int y = sc.nextInt();
int w = sc.nextInt(); //직사각형 오른쪽 위 꼭지점(w,h)
int h = sc.nextInt();
int[] arr = new int[4];
arr[0] = h-y;
arr[1] = w-x;
arr[2] = y;
arr[3] = x;
Arrays.sort(arr);
System.out.println(arr[0]);
}
}
x,y,w,h를 입력하면 x,y 좌표에서 직사각형의 직선에서 가장 가까운 거리를 출력하는 문제다.
나는 (x,y)좌표에서 발생할 수 있는 4가지 경우의 수를 모두 계산한 뒤 그 중 최소값을 구해 출력하는 방식으로 해결했다.
4개의 값을 배열에 넣고 오름차순으로 정렬하게 되면 인덱스 0에 있는 숫자가 제일 작으니까 그걸 출력하는거다.
글로만 보면 이게 무슨 문제람? 할수도 있는데 그림으로 그려보면 쉬운문제이다.
반응형
'코딩테스트 > 백준(BAEK JOON)' 카테고리의 다른 글
[백준]1000번: A+B - 파이썬(Python) (0) | 2024.01.23 |
---|---|
[백준]2557번: Hello World - 파이썬(Python) (1) | 2024.01.22 |
[백준] 2884번: 알람 시계 자바(JAVA) (0) | 2022.06.15 |
[백준] 2739번 구구단 자바(JAVA) (0) | 2022.06.14 |
[백준] 2558번 곱셈 자바(JAVA) (0) | 2022.06.13 |