[Baekjoon 문제풀이] 1085 - 직사각형에서 탈출 (Python 3)

728x90
반응형

Baekjoon 문제풀이

서론

본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다.
대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다.

문제

Baekjoon 1085번 - 직사각형에서 탈출:
https://www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net

해법

매우 간단한 문제다. 입력으로 x, y, w, h를 통해 좌측하단 꼭짓점이 (0, 0), 우측상단 꼭짓점이 (w, h)인 직사각형과 점 (x, y)가 주어지는데, 해당 직사각형 내부에 점 (x, y)가 있는 것이 조건이다. 주어진 점에서부터 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 것이 목표이다.

이에 대한 해법은,
좌측하단 꼭짓점이 (0,0), 우측상단 꼭짓점이 (w,h)인 직사각형의 변 중 점 (x, y)와 가장 인접한 변에 점 (x, y)에서부터 수선의 발을 내렸을때, 해당 선분의 길이가 이 문제의 정답이다. 그래서 간단하게 직사각형의 각 변과 점 사이의 거리들 중에 최솟값을 찾아 출력하면 된다.

풀이

 

 

728x90
반응형