✏️ 문제
💬 아이디어
처음에는 위의 방식처럼 y좌표와, 기울기만 구하면 된다고 생각을 해서 단순하게 풀리는 문제가 아닌가 생각했다.
하지만 많은 경우의 수가 나타나서 공식을 찾아보게 되었다.
위와 같이 좌표로만 구하는 것이 아닌 CCW공식을 사용하는 것이다.
✏️ CCW 공식
💡 코드
p = []
for _ in range(3):
p.append(list(map(int, input().split())))
def ccw(p_1, p_2, p_3):
val = (p_1[0]*p_2[1] + p_2[0]*p_3[1] + p_3[0]*p_1[1]) - (p_2[0]*p_1[1] + p_3[0]*p_2[1] + p_1[0]*p_3[1])
return val
result = ccw(p[0], p[1], p[2])
if result > 0:
print(1)
elif result == 0:
print(0)
else:
print(-1)
CCW 공식을 사용하면 쉽게 해결가능하다.
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 2630번, 색종이 만들기 (0) | 2023.04.06 |
---|---|
[백준] 11053번, 가장 긴 증가하는 부분 수열 (0) | 2023.04.06 |
[백준] 1927번, 최소 힙 (0) | 2023.03.09 |