본문 바로가기
코딩 테스트/do it! 알고리즘 코딩테스트

100 다각형의 면적

by ornni 2024. 9. 19.
728x90
반응형

첫번째 코드

 

원점과의 외적을 통해서 삼각형의 넓이를 구하는 방법을 이용하여 다각형의 넓이를 구하는 것이 참신했다.

의외였던 것은 2개의 점을 이용하여 구하는 방식으로 넓이가 알아서 더하고 빼지는...우오어

마지막에 양수로만 만들면 되는!! 신기했다!!

고등학생때도 이런 방법을 쓴 적이 있었던 것 같은뎅...

 

책의 방법을 참고하여 코드를 작성하고

책을 참고하여 일부 수정하였다.

 

import sys
input = sys.stdin.readline

n = int(input())
x_list = []
y_list = []
answer = 0

for _ in range(n):
    x, y = map(int, input().split())
    x_list.append(x)
    y_list.append(y)

x_list.append(x_list[0])
y_list.append(y_list[0])

for i in range(n):
    answer += (x_list[i] * y_list[i+1] - x_list[i+1] * y_list[i])

print(round(abs(answer / 2), 1))

 

통과


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Gold/2166.%E2%80%85%EB%8B%A4%EA%B0%81%ED%98%95%EC%9D%98%E2%80%85%EB%A9%B4%EC%A0%81

 

programmers/백준/Gold/2166. 다각형의 면적 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > do it! 알고리즘 코딩테스트' 카테고리의 다른 글

099 선분 그룹 (미해결)  (0) 2024.09.19
097 CCW  (0) 2024.09.17
098 선분 교차 2  (0) 2024.09.17
096 가장 긴 증가하는 부분 수열 5  (0) 2024.09.12
095 외판원 순회 (미해결)  (0) 2024.09.12