Problem From.
https://leetcode.com/problems/check-if-it-is-a-straight-line/
오늘 문제는 주어진 점들이 한 선 위에 있는지 없는지를 판별하는 문제였다.
이 문제는 간단하게 풀 수 있었는데, 먼저 점이 두개밖에 없으면 무조건 한 선 위에 있을 수 있으므로 true 를 반환한다.
3개 이상인 경우에는 첫번째와 두번째 점의 기울기가 나머지 점들과 같은지 아닌지를 검사해서 반환해주면 된다.
class Solution {
fun checkStraightLine(coordinates: Array<IntArray>): Boolean {
if(coordinates.size == 2) return true
val point1 = coordinates[0]
val point2 = coordinates[1]
for(point3 in coordinates){
val isSlopeEqual = (point3[0] - point1[0]) * (point2[1] - point1[1]) == (point3[1] - point1[1]) * (point2[0] - point1[0])
if(!isSlopeEqual) return false
}
return true
}
}