Leetcode Java Valid Boomerang
업데이트:
문제
코드
class Solution {
public boolean isBoomerang(int[][] points) {
return (points[0][0] - points[1][0]) * (points[0][1] - points[2][1]) !=
(points[0][0] - points[2][0]) * (points[0][1] - points[1][1]);
}
}
결과
설명
-
세 점의 위치가 있는 points가 부메랑 같이 휘어있는지 구하는 문제이다.
-
세 점의 위치가 휘어 있다는 것은 한 점에서 나머지 두 점까지의 기울기가 다르다는 의미이므로, 기울기를 구하는 공식을 대입하여 계산한다.
- $\frac{points[0][0] - points[1][0]}{points[0][1] - points[1][1]} != \frac{points[0][0] - points[2][0]}{points[0][1] - points[2][1]}$ 를 성립한다.
- 위의 경우, 분모가 0이 되는 경우는 성립이 되지 않으므로 분모에 해당하는 공식을 양 변에 각각 곱해준다.
- $(points[0][0] - points[1][0]) \times (points[0][1] - points[2][1]) != (points[0][0] - points[2][0]) \times (points[0][1] - points[1][1])$ 이 성립한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기