평행 - Python

2023. 10. 2. 00:55공부/📝 프로그래머스

def degree(dot, num1, num2):
    return (dot[num2][1] - dot[num1][1]) / (dot[num2][0] - dot[num1][0])


def solution(dot):
    if degree(dot, 0, 1) == degree(dot, 2, 3):
        return 1
    elif degree(dot, 0, 2) == degree(dot, 1, 3):
        return 1
    elif degree(dot, 0, 3) == degree(dot, 1, 2):
        return 1
    else:
        return 0


# Test Cases
print(solution([[1, 4], [9, 2], [3, 8], [11, 6]]))
print("=" * 50)
print(solution([[3, 5], [4, 1], [2, 4], [5, 10]]))
print("=" * 50)

  위와 같이 풀었습니다.

 


def solution(dots):
    [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]=dots
    answer1 = ((y1-y2)*(x3-x4) == (y3-y4)*(x1-x2))
    answer2 = ((y1-y3)*(x2-x4) == (y2-y4)*(x1-x3))
    answer3 = ((y1-y4)*(x2-x3) == (y2-y3)*(x1-x4))
    return 1 if answer1 or answer2 or answer3 else 0

  찾아보니 저보다 훨씬 가독성이 좋은 코드가 있네요. 좋습니다.

 


 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

'공부 > 📝 프로그래머스' 카테고리의 다른 글

자릿수 더하기 - Python  (0) 2023.10.05
x만큼 간격이 있는 n개의 숫자 - Python  (0) 2023.10.05
옹알이 (1) - Python  (0) 2023.10.02
겹치는 선분의 길이 - Python  (0) 2023.10.01
안전지대 - Python  (0) 2023.10.01