문제 링크: https://www.acmicpc.net/problem/1085
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램
www.acmicpc.net
문제
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 x, y, w, h가 주어진다.
출력
첫째 줄에 문제의 정답을 출력한다.
코드
x, y, w, h = map(int, input().split())
print(min(x, y, w-x, h-y))
문제 설명
왼쪽 아래 꼭짓점을 (0, 0) 좌표라 할 때, 오른쪽 위 꼭짓점을 (w, h) 좌표에 위치한 직사각형이 존재한다.
이때 직사각형 내 임의의 점 (x, y) 좌표에서 직사각형의 모서리(경계면)까지의 거리 중 최단거리를 구하는 문제이다.
코드 설명
- (x, y) 좌표를 직사각형 내에서 임의의로 지정했을 떄, 경계면까지의 거리를 나타낸 그림이다.
- 각각의 길이는 위의 그림과 같다
- 왼쪽 아래 꼭지점이 (0, 0) 이기 때문에 y축에서 (x, y)의 거리는 x
- x축에서 (x, y)의 거리는 y
- 오른쪽 위 꼭짓점 (w, h)의 x축과 평행한 경계면 까지의 거리는 h-y
- (w, h)의 y축과 평행한 경계면 까지의 거리는 w-x
- 각각의 길이를 구하고, min함수를 통해 최소값을 구하여 출력한다.
반응형
'IT > 알고리즘' 카테고리의 다른 글
[BAEKJOON] 백준 4803번: 트리 (node.js) (0) | 2023.01.08 |
---|---|
[BAEKJOON] 백준 3009번: 네 번째 점 (Python) (0) | 2021.09.14 |
[BAEKJOON] 백준 4948번: 베르트랑 공준 (Python) (0) | 2021.09.05 |
[BAEKJOON] 백준 1929번: 소수 구하기 (Python) (0) | 2021.09.05 |
[BAEKJOON] 백준 11653번: 소인수분해 (Python) (0) | 2021.09.03 |
댓글