프로그래머스 lv0 평행
출처
https://school.programmers.co.kr/learn/courses/30/lessons/120875
풀이
def solution(dots):
# dots의 길이가 4다
# 가능한 집합은 아래의 경우의 수가 전부다.
cases = (((0, 1), (2, 3)), ((0, 2), (1, 3)), ((0, 3), (1, 2)))
# 모든 경우의 수에 대해서 검사한다.
# 두집합을 a (a1,a2), b (b1,b2) 라 하자
for (a1, a2), (b1, b2) in cases:
ax1, ay1 = dots[a1]
ax2, ay2 = dots[a2]
bx1, by1 = dots[b1]
bx2, by2 = dots[b2]
# 기울기가 같으면 바로 1을 반환한다.
# x축 또는 y축과 평행한 경우는 없으므로 상관하지 않는다.
if (ay1-ay2)/(ax1-ax2) == (by1-by2)/(bx1-bx2):
return 1
return 0
Leave a comment