문제 링크
https://www.acmicpc.net/problem/1085
문제
한수는 지금 (x, y)에 있다.
직사각형은 각 변이 좌표축에 평행하고,
왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다.
직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 x, y, w, h가 주어진다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제
입력
6 2 10 3
출력
1
정답 및 풀이
x,y,w,h = map(int,input().split())
x1 = abs(x-w)
y1 = abs(y-h)
x2 = abs(x-0)
y2 = abs(y-0)
print(min(x1,x2,y1,y2))
- x,y,w,h = map(int,input().split())
- (x, y)는 현재 점의 좌표이고, (w, h)는 직사각형의 오른쪽 위 꼭짓점 좌표입니다.
- x1 = abs(x - w) y1 = abs(y - h)
- 점에서 오른쪽 경계선(x = w)과 위쪽 경계선(y = h)까지의 거리를 구합니다.
- abs()는 절댓값 함수로, 음수가 나오지 않게 하기 위함입니다.
- x2 = abs(x - 0) y2 = abs(y - 0)
- 점에서 왼쪽 경계선(x = 0)과 아래쪽 경계선(y = 0)까지의 거리를 구합니다.
- print(min(x1, x2, y1, y2))
- 4개의 거리 중 가장 짧은 값을 출력합니다.
'백준' 카테고리의 다른 글
| [백준] 15894 : 수학은 체육과목 입니다 (Python/파이썬) (0) | 2025.10.16 |
|---|---|
| [백준] 3009 : 네 번째 점 (Python/파이썬) (0) | 2025.10.16 |
| [백준] 11653 : 소인수분해 (Python/파이썬) (0) | 2025.10.14 |
| [백준] 2501 : 약수 구하기 (Python/파이썬) (0) | 2025.10.14 |
| [백준] 1978 : 소수 찾기 (Python/파이썬) (0) | 2025.10.14 |