728x90
반응형
My Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 a,b = 0; a = w-x; int mmin = x > a ? a : x; b = h-y; int mmin1 = y > b ? b : y; int min = mmin > mmin1 ? mmin1 : mmin; System.out.println(min); } } | cs |
How
(x, y) 좌표가 직사각형 내부의 어떤 위치에 있던 x축, y축과 평행하는 거리만 구하면
(x, y) 좌표에서 대각선의 경계면까지의 가장 짧은 거리는 4개 중에 하나에 해당된다.
위 코드와 같이 (x, y) 좌표에서 경계면까지의 거리 4가지만 정리를 하고 나면 코드는 간단히 작성할 수 있다
mmin과 mmin1를 이용해 x, y의 최솟값을 구해주었고, 최종적으로 min을 통해 최솟값을 도출시켰다.
이처럼 삼항연산을 이용하여 비교를 통해 이해하기 쉽게 풀어보았다.
728x90
반응형
'✨ 코딩테스트 > Baekjoon' 카테고리의 다른 글
[Baekjoon / JAVA] 백준 1271번 엄청난 부자2 (0) | 2023.02.12 |
---|---|
[Baekjoon / JAVA] 백준 2440번 별 찍기 - 3 (0) | 2023.02.08 |
[Baekjoon / JAVA] 2460번 백준 지능형 기차2 (0) | 2023.02.08 |
[Baekjoon / JAVA] 백준 2562번 최댓값 (0) | 2023.02.07 |
[Baekjoon / JAVA] 백준 2455번 지능형 기차 (0) | 2023.02.02 |
댓글