Beginner
2024-05-08

직사각형에서 탈출

직사각형의 경계선까지 가는 거리의 최솟값을 구하는 함수 구현하기

#99일지#99클럽#TIL#개발자스터디#코딩테스트#항해
직접 풀러가기

문제 설명

한수는 지금 (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는 정수

입출력 예시

inputoutput
6 2 10 31
1 1 5 51
653 375 1000 1000347
161 181 762 375161

풀이

  1. x, y, w, h 의 값을 입력 받은 값으로 초기화한다.
  2. 직사각형의 경계선까지 가는 최소값을 min() 함수로 계산한다.
  3. 계산된 결과를 출력한다.

Python

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

d_left = x  # distance from x to left boundary (0)
d_right = w - x  # distance from x to right boundary (w)
d_bottom = y  # distance from y to bottom boundary (0)
d_top = h - y  # distance from y to top boundary (h)

min_distance = min(d_left, d_right, d_bottom, d_top)

print(min_distance)