백준 [1085번] : 직사각형에서 탈출

빨주노·2021년 8월 8일
0

문제

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 x, y, w, h가 주어진다.

출력

첫째 줄에 문제의 정답을 출력한다.

제한

  • 1 ≤ w, h ≤ 1,000
  • 1 ≤ x ≤ w-1
  • 1 ≤ y ≤ h-1
  • x, y, w, h는 정수

예제 입력

6 2 10 3

예제 출력

1

풀이과정

x, y, w, h = map(int, input().split())

if x > (w - x):
    d1 = w - x
else:
    d1 = x

if y > (h - y):
    d2 = h - y
else:
    d2 = y

if d1 > d2:
    print(d2)
else:
    print(d1)
  • 가로, 세로 기준으로 가장 거리가 짧은 길이를 각각 추출한 뒤, 추출한 두 값을 비교하여 짧은 값을 출력하는 알고리즘
profile
딥 하게 딥러닝 하는중

0개의 댓글