백준 문제 풀이 - 직사각형에서 탈출 1085번

Joonyeol Sim👨‍🎓·2021년 11월 20일
0

백준문제풀이

목록 보기
25/128

📜 문제 이해하기

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

💡 문제 재정의

한 점에서 직사각형의 한 변까지의 최소 거리를 구하여라

✏️ 계획 수립

최소 거리는 각 축에 대해 수직으로 선을 그었을 때만 성립한다. 즉, (x, y)에서 x축과 y축, w와 h쪽으로 모두 수직으로 거리를 측정하고 가장 짧은 길이를 가져오면 된다.

💻 계획 수행

if __name__ == '__main__':
    x, y, w, h = map(int, input().split())
    x_to_zero = x
    y_to_zero = y
    x_to_w = w - x
    y_to_h = h - y
    print(min(x_to_zero, y_to_zero, x_to_w, y_to_h))

🤔 회고

수학을 이해하고 있다면 쉽게 풀 수 있는 문제다.

profile
https://github.com/joonyeolsim

0개의 댓글