백준 | 골드 5 | 2166번: 다각형의 면적 | Python

kimminjunnn·2025년 10월 16일

알고리즘

목록 보기
206/311

https://www.acmicpc.net/problem/2166


문제 파악

다각형을 이루는 꼭짓점들의 좌표가 주어졌을때, 그 다각형의 넓이를 구하는,
문제 자체는 간단한 문제이다.

이 문제를 쉽게 풀기 위해서는 학생때 어렴풋이 배웠었던 것 같은
신발끈(슈레이스) 공식 이 필요하다.

출처 : 나무위키

해답 및 풀이

import sys

input = sys.stdin.readline

N = int(input().strip())
pts = [tuple(map(int, input().split())) for _ in range(N)]

# 원형 처리: 마지막 다음은 첫 점
cross = 0
for i in range(N):
    x1, y1 = pts[i]
    x2, y2 = pts[(i + 1) % N]
    cross += x1 * y2 - y1 * x2

area = abs(cross) / 2.0
# 문제 요구: 소수점 첫째 자리까지
print(f"{area:.1f}")
profile
Frontend Engineers

0개의 댓글