C++/programmers 코딩테스트(level 0) C++

[C/C++] programmers Level 0 평행

CE : 하랑 2023. 11. 9. 15:21

 

 

 

 

코드

 

#include <vector>

using namespace std;

int solution(vector<vector<int>> dots) {
    int answer = 0;
     
    // 점 네개로 두개 씩 이었을 경우 -> 경우의 수 세 가지 연산 후 비교
    // abs를 이요한 연산에 if(x1==x2 && y1==y2)는 시간초과
    
    double x1=dots[0][0]-dots[1][0];
    double y1=dots[0][1]-dots[1][1];
    double x2=dots[2][0]-dots[3][0];
    double y2=dots[2][1]-dots[3][1];
    
    if(x1/y1 == x2/y2){
        return 1;
    }
    
    x1=dots[0][0]-dots[2][0];
    y1=dots[0][1]-dots[2][1];
    x2=dots[1][0]-dots[3][0];
    y2=dots[1][1]-dots[3][1];
    
    if(x1/y1 == x2/y2){
        return 1;
    }
    
    x1=dots[0][0]-dots[3][0];
    y1=dots[0][1]-dots[3][1];
    x2=dots[1][0]-dots[2][0];
    y2=dots[1][1]-dots[2][1];
    
    if(x1/y1 == x2/y2){
        return 1;
    }
    
    return answer;
}