본문 바로가기

프로그래머스

코딩테스트 입문 - 평행

반응형

1. 문제

*문제 원본은 '문제링크' 참고

2. 문제 해석

주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1 return, 없으면 0 return

*주의사항: 4개의 점을 어떠한 형태로 연결했을 때 평행 여부 검사
*최초, 아래 작성 코드에서 평행 검사 조건2 생략하여 오답처리됨

🔎 3. 작성 코드

class Solution {
    public int solution(int[][] dots) {
    	// 좌표 필드로 받음
        int x1 = dots[0][0];
        int y1 = dots[0][1];
        int x2 = dots[1][0];
        int y2 = dots[1][1];
        int x3 = dots[2][0];
        int y3 = dots[2][1];
        int x4 = dots[3][0];
        int y4 = dots[3][1];

        if ((y2 - y1) * (x4 - x3) == (y4 - y3) * (x2 - x1)) { // 평행 검사 조건1
            return 1;
        }
        if ((y3 - y1) * (x4 - x2) == (y4 - y2) * (x3 - x1)) { // 평행 검사 조건2
            return 1;
        }
        return 0;
    }
}
반응형