점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다.
주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.
dots | result |
---|---|
[[1, 4], [9, 2], [3, 8], [11, 6]] | 1 |
[[3, 5], [4, 1], [2, 4], [5, 10]] | 0 |
class Solution {
public int solution(int[][] dots) {
int answer = 0; int index = 0;
double slope[] = new double[6];
for(int i = 0; i < 4; i++) {
for(int j = i; j < 3; j++) {
slope[index] = (((double)dots[i][1] - (double)dots[j+1][1]) /
((double)dots[i][0] - (double)dots[j+1][0]));
double temp = slope[index];
index++;
for(int k = 0; k < index - 1; k++) {
if(temp == slope[k]) {
answer = 1;
break;
}
}
}
}
return answer;
}
}
내 코드가 긴 것 같아서 다른 사람의 풀이를 봤더니 원래 이렇게 긴 코드가 나오는 문제인 듯..