Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 1232. Check If It Is a Straight Line 본문
728x90
반응형
https://leetcode.com/problems/check-if-it-is-a-straight-line/description/
문제 유형 : 수학
문제 난이도 : Easy
문제
You are given an array coordinates, coordinates[i] = [x, y], where [x, y] represents the coordinate of a point. Check if these points make a straight line in the XY plane.
점들이 [x, y]로 주어진다. 이 점들을 이으면 직선이 되는지 구하여라.
풀이
처음 두 점의 기울기를 구할 때, 그를 표준으로 해준다.
다음 기울기들을 구할때마다 표준 기울기와 비교해주면 된다. dx == 0인 경우 예외처리를 해주자.
코드(C++)
class Solution {
public:
bool checkStraightLine(vector<vector<int>>& coordinates) {
double inclination = 0;
double curr_inclination = 0;
int INF = 1e9;
for(int i = 0; i < coordinates.size()-1; i++){
const double dx = coordinates[i][0] - coordinates[i+1][0];
const double dy = coordinates[i][1] - coordinates[i+1][1];
if(dx == 0){
curr_inclination = INF;
}
else{
curr_inclination = dy / dx;
}
if(i == 0) inclination = curr_inclination;
if(inclination != curr_inclination) return false;
}
return true;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 1351. Count Negative Numbers in a Sorted Matrix (0) | 2023.06.08 |
---|---|
[LeetCode] 1502. Can Make Arithmetic Progression From Sequence (0) | 2023.06.06 |
[LeetCode] 547. Number of Provinces (0) | 2023.06.04 |
[LeetCode] 64. Minimum Path Sum (0) | 2023.05.30 |
[LeetCode] 705. Design HashSet (0) | 2023.05.30 |