본문 바로가기
알고리즘/백준

[파이썬][백준] 다각형의 면적

by kastori 2022. 1. 25.
반응형

🔗 링크


 

2166번: 다각형의 면적

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

www.acmicpc.net

 

🔒 문제 


 

🔎 문제풀이


 

 

다각형 넓이 구하기

다각형의 넓이를 계산하는 일은 정삼각형 넓이를 구하는 것처럼 간단하기도 하지만 각 변의 길이가 다른 11각형의 넓이를 구하는 것처럼 복잡하기도 합니다. 다양한 다각형의 넓이를 구하는 방

ko.wikihow.com

 문제 접근을 어떻게 해야 할지 감이 안 잡혀서 다각형 면적을 구하는 공식이 있는지 찾아서 풀 수 있었다.
공식대로 코딩을 하니 문제가 쉽게 풀려 당황했다.
 주의 할 점은 음수로 정답이 음수로 나올 수 있어 마지막에 처리해주었다.

👨🏻‍💻 코드


import sys

"""
다각형의 면적
https://www.acmicpc.net/problem/2166
"""
input = sys.stdin.readline

N = int(input())

point = [list(map(int, input().split())) for _ in range(N)]
point.append(point[0])
x, y = 0, 0

answer = 0

for i in range(N):
    x += point[i][0] * point[i + 1][1]
    y += point[i][1] * point[i + 1][0]

answer = round((x - y) / 2, 1)


print(abs(answer))
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[파이썬][백준21318] 피아노 체조  (0) 2022.01.13
백준 14674. 영우는 사기꾼?  (0) 2021.12.25
백준 1863. 스카이라인 쉬운거  (0) 2021.12.24
백준 18116. 로봇 조립  (0) 2021.12.23
백준 1992. 쿼드트리  (0) 2021.12.22

댓글