좌하단(bottom-left)과 우상단(top-right) 두 꼭짓점의 좌표로 표현되는 직사각형이 있다고 가정해 보겠습니다. 이때 주어진 점 (x, y)가 이 직사각형 내부에 존재하는지 판별해야 합니다.
예를 들어 bottom_left = (1, 1), top_right = (8, 5), point = (5, 4)가 입력으로 주어지면, 점 (5, 4)는 직사각형 범위 안에 있으므로 출력 결과는 True가 됩니다.

문제 해결 접근 방법
이 문제는 간단한 좌표 비교만으로 해결할 수 있습니다. 다음 단계를 따릅니다.
- solve() 함수를 정의합니다. 이 함수는 bl(좌하단 꼭짓점), tr(우상단 꼭짓점), p(확인할 점) 세 개의 매개변수를 받습니다.
- 점 p의 x좌표가 bl의 x좌표보다 크고 tr의 x좌표보다 작으며, 동시에 점 p의 y좌표가 bl의 y좌표보다 크고 tr의 y좌표보다 작다면 True를 반환합니다.
- 위 조건을 만족하지 않으면 False를 반환합니다.
즉, 점의 x좌표와 y좌표가 모두 직사각형의 최소·최대 범위 사이에 있는지만 확인하면 됩니다.
구현 예제
def solve(bl, tr, p):
if (p[0] > bl[0] and p[0] < tr[0] and p[1] > bl[1] and p[1] < tr[1]):
return True
else:
return False
bottom_left = (1, 1)
top_right = (8, 5)
point = (5, 4)
print(solve(bottom_left, top_right, point))입력
(1, 1), (8, 5), (5, 4)
출력
True
참고 사항
위 코드는 비교 연산자로 >와 <를 사용했기 때문에 직사각형의 경계선 위에 있는 점은 내부에 포함되지 않는 것으로 판단됩니다. 만약 경계선 위의 점도 내부로 간주하고 싶다면 조건을 >=와 <=로 변경하면 됩니다.