nueijeel

[프로그래머스][python] Lv.0 - 평행 본문

코딩테스트/프로그래머스

[프로그래머스][python] Lv.0 - 평행

nueijeel 2023. 2. 8. 17:03

문제 설명

점 네 개의 좌표를 담은 이차원 배열  dots가 다음과 같이 매개변수로 주어집니다.
[[x1, y1], [x2, y2], [x3, y3], [x4, y4]]
주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.

 

해결 단계

두 직선이 평행(혹은 일치)인지 알아보려면 두 직선의 기울기를 비교하면 된다.

두 점 (x1, y1), (x2, y2)를 지나는 직선의 기울기 : ( y1 - y2 ) / ( x1 - x2 )

 

작성한 코드

def find(dot1, dot2):
    return (float)(dot1[1]-dot2[1])/(float)(dot1[0]-dot2[0])

def solution(dots):
    answer = 0
    if find(dots[0],dots[1])==find(dots[2],dots[3]):
        answer = 1
    elif find(dots[0],dots[2])==find(dots[1],dots[3]):
        answer = 1
    elif find(dots[0],dots[3])==find(dots[2],dots[1]):
        answer = 1
    return answer

처음에 무의식적으로 일반 나눗셈(/)이 아니라 몫 구하는 나눗셈(//)을 해버렸다...ㅋㅋㅋ

728x90