문제
알고리즘
- 벡터의 외적을 통해 시계 방향인지 아닌지를 판별한다.
코드
import sys
p = [list(map(int, sys.stdin.readline().split())) for _ in range(3)]
v1 = [p[1][0] - p[0][0], p[1][1] - p[0][1]] # p1 -> p0
v2 = [p[2][0] - p[1][0], p[2][1] - p[1][1]] # p2 -> p1
func = v1[0] * v2[1] - v1[1] * v2[0] # 벡터 외적
# 외적이 양수이면 sin < 180
if func > 0:
print(1)
# 외적이 양수이면 sin > 180
elif func < 0:
print(-1)
# 외적이 양수이면 sin == 180
else:
print(0)
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 13023번(파이썬): ABCDE (0) | 2022.06.14 |
---|---|
[baekjoon] 백준 1038번(파이썬): 감소하는 수 (0) | 2022.06.13 |
[baekjoon] 백준 17070번(파이썬): 파이프 옮기기 1 (0) | 2022.06.11 |
[baekjoon] 백준 2589번(파이썬): 보물섬 (0) | 2022.06.10 |
[baekjoon] 백준 2096번(파이썬): 내려가기 (0) | 2022.06.08 |