Daily LeetCode Challenge - 1232. Check If It Is a Straight Line

Min Young Kim·2023년 6월 5일
0

algorithm

목록 보기
163/198

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
    }
}
profile
길을 찾는 개발자

0개의 댓글