728x90
반응형
https://www.acmicpc.net/problem/2166
2166번: 다각형의 면적
첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.
www.acmicpc.net
문제 해결
- 다각형의 넓이를 구할 때 외적을 사용해서 구하는 경우가 편하다. (꼭지점을 벡터화 시킨다음 외적시키면 끝!)
- 삼각형일 경우 아래 다각형 도형 면적(넓이) 구하기에 나와있다.
- 파트3 아래 내용을 참고하면 구하기 쉽다.
다각형 도형의 면적(넓이) 구하기
프로그래밍 등을 할 때 알아두면 유용한 다각형의 면적 구하는 방법입니다.(오랜만에 수학관련 포스팅을 합니다 ^^) 1. 2차원 평면에서 세 점의 좌표를 알 때 삼각형 면적 구하기 세 점의 좌표를 (
darkpgmr.tistory.com
다각형 넓이 구하기: 15 단계 (이미지 포함) - wikiHow
다각형의 넓이를 계산하는 일은 정삼각형 넓이를 구하는 것처럼 간단하기도 하지만 각 변의 길이가 다른 11각형의 넓이를 구하는 것처럼 복잡하기도 합니다. 다양한 다각형의 넓이를 구하는 방
ko.wikihow.com
CODE
import sys
input= sys.stdin.readline
n = int(input())
x_points = []
y_points = []
for _ in range(n):
x, y = map(int, input().split())
x_points.append(x)
y_points.append(y)
x_points.append(x_points[0])
y_points.append(y_points[0])
left=0
right = 0
for i in range(n):
left += x_points[i]*y_points[i+1]
right += x_points[i+1]*y_points[i]
answer = abs(left-right)/2
print(answer)
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 22862 가장 긴 짝수 연속한 부분 수열 (large) (0) | 2023.05.04 |
---|---|
[python] 백준 2623 음악프로그램 (0) | 2023.05.02 |
[python] 백준 5582 공통 부분 문자열 (0) | 2023.05.01 |
[python] 백준 13460 구슬 탈출 2 (0) | 2023.04.30 |
[python] 백준 17281 야구 (0) | 2023.04.30 |
댓글