본문 바로가기
Algorithm/etc

[파이썬] 백준 2166 : 다각형의 면적 (골드5)

by 베짱이28호 2023. 5. 16.

[파이썬] 백준 2166 : 다각형의 면적 (골드5)

 

 

2166번: 다각형의 면적

첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.

www.acmicpc.net


문제


풀이

신발끈 공식 생각해서 풀면 된다.

arr_x, arr_y 어레이에 첫 어레이 넣어주기

 

import sys
input = sys.stdin.readline

n = int(input())
arr_x,arr_y = [],[]
for i in range(n):
    x,y = map(int,input().split())
    arr_x.append(x)
    arr_y.append(y)

arr_x.append(arr_x[0])
arr_y.append(arr_y[0])

answer = 0
for i in range(n) :
    answer += (arr_x[i]*arr_y[i+1])-(arr_x[i+1]*arr_y[i])
    
answer = abs(answer)*0.5
print(f'{answer:.1f}')

2차원이라 구현도 간단

댓글